mirror of
https://github.com/aantron/dream.git
synced 2025-12-31 00:03:52 -05:00
parent
45702dd3c0
commit
a268400fce
@ -400,13 +400,13 @@ let static_replacement = {|
|
||||
</pre>
|
||||
|}
|
||||
|
||||
let set_session_expected = {|<div class="spec value" id="val-set_session">
|
||||
<a href="#val-set_session" class="anchor"></a><code><span><span class="keyword">val</span> set_session : <span>string <span class="arrow">-></span></span> <span>string <span class="arrow">-></span></span> <span><a href="#type-request">request</a> <span class="arrow">-></span></span> <span>unit <a href="#type-promise">promise</a></span></span></code>
|
||||
let set_session_expected = {|<div class="spec value" id="val-put_session">
|
||||
<a href="#val-put_session" class="anchor"></a><code><span><span class="keyword">val</span> put_session : <span>string <span class="arrow">-></span></span> <span>string <span class="arrow">-></span></span> <span><a href="#type-request">request</a> <span class="arrow">-></span></span> <span>unit <a href="#type-promise">promise</a></span></span></code>
|
||||
</div>
|
||||
|}
|
||||
|
||||
let set_session_replacement = {|
|
||||
<pre><span class="keyword">val</span> set_session :
|
||||
<pre><span class="keyword">val</span> put_session :
|
||||
string -> string -> <a href="#type-request">request</a> -> unit <a href="#type-promise">promise</a>
|
||||
</pre>
|
||||
|}
|
||||
@ -949,7 +949,7 @@ let pretty_print_signatures soup =
|
||||
|
||||
multiline "#val-scope" scope_expected scope_replacement;
|
||||
multiline "#val-static" static_expected static_replacement;
|
||||
multiline "#val-set_session" set_session_expected set_session_replacement;
|
||||
multiline "#val-put_session" set_session_expected set_session_replacement;
|
||||
multiline "#val-websocket" websocket_expected websocket_replacement;
|
||||
multiline "#val-send" send_expected send_replacement;
|
||||
multiline "#val-graphql" graphql_expected graphql_replacement;
|
||||
|
||||
@ -14,7 +14,7 @@ let () =
|
||||
match Dream.session "user" request with
|
||||
| None ->
|
||||
let%lwt () = Dream.invalidate_session request in
|
||||
let%lwt () = Dream.set_session "user" "alice" request in
|
||||
let%lwt () = Dream.put_session "user" "alice" request in
|
||||
Dream.respond "You weren't logged in; but now you are!"
|
||||
|
||||
| Some username ->
|
||||
|
||||
@ -7,7 +7,7 @@ let () =
|
||||
match Dream.session "user" request with
|
||||
| None ->
|
||||
let%lwt () = Dream.invalidate_session request in
|
||||
let%lwt () = Dream.set_session "user" "alice" request in
|
||||
let%lwt () = Dream.put_session "user" "alice" request in
|
||||
Dream.respond "You weren't logged in; but now you are!"
|
||||
|
||||
| Some username ->
|
||||
|
||||
@ -1277,9 +1277,9 @@ Now with Content-Type guessing.
|
||||
val session : string -> request -> string option
|
||||
(** Value from the request's session. *)
|
||||
|
||||
val set_session : string -> string -> request -> unit promise
|
||||
(** Sets a value in the request's session. The back end may commit the value to
|
||||
storage immediately, so this function returns a promise. *)
|
||||
val put_session : string -> string -> request -> unit promise
|
||||
(** Mutates a value in the request's session. The back end may commit the value
|
||||
to storage immediately, so this function returns a promise. *)
|
||||
|
||||
val all_session_values : request -> (string * string) list
|
||||
(** Full session dictionary. *)
|
||||
|
||||
@ -82,7 +82,7 @@ type session = {
|
||||
}
|
||||
|
||||
type operations = {
|
||||
set : string -> string -> unit Lwt.t;
|
||||
put : string -> string -> unit Lwt.t;
|
||||
invalidate : unit -> unit Lwt.t;
|
||||
mutable dirty : bool;
|
||||
}
|
||||
@ -116,7 +116,7 @@ struct
|
||||
session
|
||||
end
|
||||
|
||||
let set session name value =
|
||||
let put session name value =
|
||||
session.payload
|
||||
|> List.remove_assoc name
|
||||
|> fun dictionary -> (name, value)::dictionary
|
||||
@ -131,8 +131,8 @@ struct
|
||||
|
||||
let operations hash_table lifetime session dirty =
|
||||
let rec operations = {
|
||||
set =
|
||||
(fun name value -> set !session name value);
|
||||
put =
|
||||
(fun name value -> put !session name value);
|
||||
invalidate =
|
||||
(fun () -> invalidate hash_table lifetime operations session);
|
||||
dirty;
|
||||
@ -201,7 +201,7 @@ struct
|
||||
payload = [];
|
||||
}
|
||||
|
||||
let set operations session name value =
|
||||
let put operations session name value =
|
||||
session.payload
|
||||
|> List.remove_assoc name
|
||||
|> fun dictionary -> (name, value)::dictionary
|
||||
@ -216,7 +216,7 @@ struct
|
||||
|
||||
let operations lifetime session dirty =
|
||||
let rec operations = {
|
||||
set = (fun name value -> set operations !session name value);
|
||||
put = (fun name value -> put operations !session name value);
|
||||
invalidate = (fun () -> invalidate lifetime operations session);
|
||||
dirty;
|
||||
} in
|
||||
@ -318,8 +318,8 @@ let cookie_sessions ?(lifetime = two_weeks) =
|
||||
let session name request =
|
||||
List.assoc_opt name (!(snd (getter request)).payload)
|
||||
|
||||
let set_session name value request =
|
||||
(fst (getter request)).set name value
|
||||
let put_session name value request =
|
||||
(fst (getter request)).put name value
|
||||
|
||||
let all_session_values request =
|
||||
!(snd (getter request)).payload
|
||||
|
||||
@ -133,7 +133,7 @@ let rec create db expires_at attempt =
|
||||
| () ->
|
||||
Lwt.return session
|
||||
|
||||
let set request (session : Session.session) name value =
|
||||
let put request (session : Session.session) name value =
|
||||
session.payload
|
||||
|> List.remove_assoc name
|
||||
|> fun dictionary -> (name, value)::dictionary
|
||||
@ -151,7 +151,7 @@ let invalidate request lifetime operations (session : Session.session ref) =
|
||||
|
||||
let operations request lifetime (session : Session.session ref) dirty =
|
||||
let rec operations = {
|
||||
Session.set = (fun name value -> set request !session name value);
|
||||
Session.put = (fun name value -> put request !session name value);
|
||||
invalidate = (fun () -> invalidate request lifetime operations session);
|
||||
dirty;
|
||||
} in
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user