17 lines
486 B
OCaml
17 lines
486 B
OCaml
open Syntax
|
|
|
|
let get request =
|
|
let** () = User.assert_logged request in
|
|
let title = "Logout" in
|
|
let%lwt () = Dream.invalidate_session request in
|
|
|
|
match Dream.query request "redirect" with
|
|
| None ->
|
|
let page = Tyxml.Html.txt "logged out" in
|
|
Template.render ~title ~scripts:[] page
|
|
| Some redirect ->
|
|
let url = Dream.from_percent_encoded redirect in
|
|
Dream.respond ~status:`See_Other
|
|
~headers:[ ("Location", url) ]
|
|
"Logged out: Happy nopellesting!"
|