Skip to content

Commit

Permalink
Tidy up flash message cookies (#137)
Browse files Browse the repository at this point in the history
Fixes #134.
  • Loading branch information
jsthomas committed Jul 20, 2021
1 parent b046bca commit 47f4ed5
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions src/middleware/flash.ml
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,17 @@ let flash_messages inner_handler request =
let request = Dream.with_local storage outbox request in
let%lwt response = inner_handler request in
let entries = List.rev !outbox in
let existing = Dream.cookie flash_cookie request in
let resp = match existing, entries with
| None, [] -> response
| Some _, [] -> Dream.set_cookie flash_cookie "" request response ~expires:0.
| _, _ ->
let content =
List.fold_right (fun (x,y) a -> `String x :: `String y :: a) entries [] in
let value = `List content |> Yojson.Basic.to_string in
Dream.set_cookie flash_cookie value request response ~max_age:five_minutes
|> Lwt.return

in
Lwt.return resp


let (|>?) =
Expand Down

0 comments on commit 47f4ed5

Please sign in to comment.