set up user session on login

This commit is contained in:
zapashcanon 2021-11-07 10:21:01 +01:00
parent ef17b08966
commit f367d55b7c
No known key found for this signature in database
GPG key ID: 8981C3C62D1D28F1
4 changed files with 27 additions and 15 deletions

View file

@ -6,7 +6,7 @@ let get_title content =
with
| Failure _e -> "Permap"
let render ?title content =
let render ?title content request =
let title =
match title with
| None -> get_title content
@ -15,14 +15,15 @@ let render ?title content =
Dream.html
@@ Template.render_unsafe ~title:(Dream.html_escape title)
~content:(Dream.html_escape content)
request
let render_unsafe ?title content =
let render_unsafe ?title content request =
let title =
match title with
| None -> get_title content
| Some title -> title
in
Dream.html @@ Template.render_unsafe ~title ~content
Dream.html @@ Template.render_unsafe ~title ~content request
let asset_loader _root path _request =
match Content.read ("assets/" ^ path) with
@ -34,32 +35,32 @@ let page path =
| None -> None
| Some page -> Some (Omd.of_string page |> Omd.to_html)
let page_of_name name =
let page_of_name name request =
match page name with
| None -> Dream.empty `Not_Found
| Some content -> render_unsafe content
| Some content -> render_unsafe content request
let homepage _request = page_of_name "index"
let homepage request = page_of_name "index" request
let register_get request = render_unsafe (Register.f request)
let register_get request = render_unsafe (Register.f request) request
let register_post request =
match%lwt Dream.form request with
| `Ok [ ("email", email); ("nick", nick); ("password", password) ] ->
render_unsafe (Register.f ~nick ~email ~password request)
render_unsafe (Register.f ~nick ~email ~password request) request
| _ -> assert false
let login_get request = render_unsafe (Login.f request)
let login_get request = render_unsafe (Login.f request) request
let login_post request =
match%lwt Dream.form request with
| `Ok [ ("nick", nick); ("password", password) ] ->
render_unsafe (Login.f ~nick ~password request)
render_unsafe (Login.f ~nick ~password request) request
| _ -> assert false
let user _request = render_unsafe (User.list ())
let user request = render_unsafe (User.list ()) request
let user_profile request = render_unsafe (User.profile request)
let user_profile request = render_unsafe (User.profile request) request
let () =
Dream.run ~interface:"0.0.0.0"