diff --git a/src/utils.ml b/src/utils.ml index 751b0d8..6dda041 100644 --- a/src/utils.ml +++ b/src/utils.ml @@ -19,7 +19,9 @@ let logged_in_or_redirect request logged_in = match Dream.session "user_id" request with | None -> let target = Dream.target request in - let redirect_url = Format.sprintf "/login=?redirect=%s" target in + let redirect_url = + Format.sprintf "/login?redirect=%s" (Dream.to_percent_encoded target) + in Dream.respond ~status:`See_Other ~headers:[ ("Location", redirect_url) ] "" | Some user_id -> logged_in user_id