refactor invalid form handling
This commit is contained in:
parent
855564bed6
commit
4cfe4e671a
3 changed files with 17 additions and 40 deletions
|
|
@ -30,10 +30,7 @@ let register_post request =
|
|||
(User.login ~login:nick ~password request)
|
||||
in
|
||||
render res request )
|
||||
| `Ok _ -> Dream.respond ~status:`Bad_Request "invalid form"
|
||||
| `Many_tokens _ | `Missing_token _ | `Invalid_token _ | `Wrong_session _
|
||||
| `Expired _ | `Wrong_content_type ->
|
||||
Dream.empty `Bad_Request
|
||||
| form -> Utils.handle_invalid_form form
|
||||
|
||||
let login_get request = render (Login.f request) request
|
||||
|
||||
|
|
@ -51,10 +48,7 @@ let login_post request =
|
|||
Dream.respond ~status:`See_Other
|
||||
~headers:[ ("Location", url) ]
|
||||
"Logged in: Happy geo-posting!" )
|
||||
| `Ok _ -> Dream.respond ~status:`Bad_Request "invalid form"
|
||||
| `Many_tokens _ | `Missing_token _ | `Invalid_token _ | `Wrong_session _
|
||||
| `Expired _ | `Wrong_content_type ->
|
||||
Dream.empty `Bad_Request
|
||||
| form -> Utils.handle_invalid_form form
|
||||
|
||||
let admin_get request =
|
||||
match Dream.session "user_id" request with
|
||||
|
|
@ -101,10 +95,7 @@ let admin_post request =
|
|||
Dream.respond ~status:`See_Other
|
||||
~headers:[ ("Location", "/admin") ]
|
||||
"" )
|
||||
| `Ok _ -> Dream.respond ~status:`Bad_Request "invalid form"
|
||||
| `Expired _ | `Many_tokens _ | `Missing_token _ | `Invalid_token _
|
||||
| `Wrong_session _ | `Wrong_content_type ->
|
||||
Dream.empty `Bad_Request )
|
||||
| form -> Utils.handle_invalid_form form )
|
||||
|
||||
let catalog request =
|
||||
let catalog_content =
|
||||
|
|
@ -132,10 +123,7 @@ let delete_post request =
|
|||
Dream.respond ~status:`See_Other
|
||||
~headers:[ ("Location", "/") ]
|
||||
"Your post was deleted!" )
|
||||
| `Ok _ -> Dream.respond ~status:`Bad_Request "invalid form"
|
||||
| `Expired _ | `Many_tokens _ | `Missing_token _ | `Invalid_token _
|
||||
| `Wrong_session _ | `Wrong_content_type ->
|
||||
Dream.empty `Bad_Request )
|
||||
| form -> Utils.handle_invalid_form form )
|
||||
|
||||
let report_get request =
|
||||
let post_id = Dream.param request "post_id" in
|
||||
|
|
@ -153,10 +141,7 @@ let report_post request =
|
|||
let post_id = Dream.param request "post_id" in
|
||||
let* () = Babillard.report ~user_id ~reason post_id in
|
||||
Ok "The post was reported!"
|
||||
| `Ok _ -> Dream.respond ~status:`Bad_Request "invalid form"
|
||||
| `Expired _ | `Many_tokens _ | `Missing_token _ | `Invalid_token _
|
||||
| `Wrong_session _ | `Wrong_content_type ->
|
||||
Dream.empty `Bad_Request )
|
||||
| form -> Utils.handle_invalid_form form )
|
||||
|
||||
let user request =
|
||||
render (Result.fold ~ok:Fun.id ~error:Fun.id (User.list ())) request
|
||||
|
|
@ -205,10 +190,7 @@ let account_post request =
|
|||
let* () = User.update_password password user_id in
|
||||
Ok "Your password was updated!"
|
||||
else Error "Password confirmation does not match"
|
||||
| `Ok _ -> Dream.respond ~status:`Bad_Request "invalid form"
|
||||
| `Many_tokens _ | `Missing_token _ | `Invalid_token _ | `Wrong_session _
|
||||
| `Expired _ | `Wrong_content_type ->
|
||||
Dream.empty `Bad_Request )
|
||||
| form -> Utils.handle_invalid_form form )
|
||||
|
||||
let profile_get request =
|
||||
Utils.logged_in_or_redirect request (fun user_id ->
|
||||
|
|
@ -246,6 +228,7 @@ let profile_post request =
|
|||
| `Ok _ -> Dream.respond ~status:`Bad_Request "invalid form"
|
||||
| `Many_tokens _ | `Missing_token _ | `Invalid_token _ | `Wrong_session _
|
||||
| `Expired _ | `Wrong_content_type -> (
|
||||
(* TODO: why is this here ?! *)
|
||||
match%lwt Dream.multipart request with
|
||||
| `Ok [ ("file", file) ] -> (
|
||||
match User.upload_avatar file user_id with
|
||||
|
|
@ -254,10 +237,7 @@ let profile_post request =
|
|||
~headers:[ ("Location", "/profile") ]
|
||||
"Your avatar was updated!"
|
||||
| Error e -> render e request )
|
||||
| `Ok _ -> Dream.respond ~status:`Bad_Request "invalid form"
|
||||
| `Expired _ | `Many_tokens _ | `Missing_token _ | `Invalid_token _
|
||||
| `Wrong_session _ | `Wrong_content_type ->
|
||||
Dream.empty `Bad_Request ) )
|
||||
| form -> Utils.handle_invalid_form form ) )
|
||||
|
||||
let get_post_image ~thumbnail request =
|
||||
let id = Dream.param request "id" in
|
||||
|
|
@ -347,10 +327,7 @@ let babillard_post request =
|
|||
~headers:[ ("Location", adress) ]
|
||||
"Your thread was posted!"
|
||||
| Error e -> render e request ) )
|
||||
| `Ok _ -> Dream.respond ~status:`Bad_Request "invalid form"
|
||||
| `Expired _ | `Many_tokens _ | `Missing_token _ | `Invalid_token _
|
||||
| `Wrong_session _ | `Wrong_content_type ->
|
||||
Dream.empty `Bad_Request )
|
||||
| form -> Utils.handle_invalid_form form )
|
||||
|
||||
let thread_feed_get request =
|
||||
let thread_id = Dream.param request "thread_id" in
|
||||
|
|
@ -401,10 +378,7 @@ let reply_post request =
|
|||
~headers:[ ("Location", adress) ]
|
||||
"Your reply was posted!"
|
||||
| Error e -> render e request )
|
||||
| `Ok _ -> Dream.respond ~status:`Bad_Request "invalid form"
|
||||
| `Expired _ | `Many_tokens _ | `Missing_token _ | `Invalid_token _
|
||||
| `Wrong_session _ | `Wrong_content_type ->
|
||||
Dream.empty `Bad_Request )
|
||||
| form -> Utils.handle_invalid_form form )
|
||||
|
||||
let error_template _error _debug_info response =
|
||||
let status = Dream.status response in
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue