Module
Module Eliom_state.ExtDocumentation
Module
Ext
:
sig end
exception Wrong_scope
Exception raised when you try to access a reference belonging to a scope different to the state's scope
type timeout
=
| TGlobal (* see global setting *)
| TNone (* explicitly set no timeout *)
| TSome
of
float
Type used to describe session timeouts
=== timeout duration in seconds ===
type service_cookie_info
These types are used to get or set information about browser or process cookies (like timeouts).
type data_cookie_info
type persistent_cookie_info
type (+'a, +'b) state
The type of states. The first parameter corresponds to the scope level and the second one to the kind of state (volatile or persistent data, or service state)
val volatile_data_group_state : ?scope:Eliom_common.session_group_scope -> string -> ([> `Session_group ], [> `Data ]) state
volatile_data_group_state ~scope n returns the state corresponding to the group named n in scope scope .
val persistent_data_group_state : ?scope:Eliom_common.session_group_scope -> string -> ([> `Session_group ], [> `Pers ]) state
Same for persistent data
val service_group_state : ?scope:Eliom_common.session_group_scope -> string -> ([> `Session_group ], [> `Service ]) state
Same for services
val current_volatile_session_state : ?secure:bool -> ?scope:Eliom_common.session_scope -> unit -> ([< `Session ], [< `Data ]) state
current_volatile_session_state ~scope returns the state corresponding to current session in scope scope .
val current_persistent_session_state : ?secure:bool -> ?scope:Eliom_common.session_scope -> unit -> ([< `Session ], [< `Pers ]) state Lwt.t
Same for persistent data
val current_service_session_state : ?secure:bool -> ?scope:Eliom_common.session_scope -> unit -> ([< `Session ], [< `Service ]) state
Same for services
val discard_state : state:('a, 'b) state -> unit Lwt.t
Discard external states
val fold_volatile_sub_states : ?sitedata:Eliom_common.sitedata -> state:([< `Session | `Session_group ], [< `Data | `Service ] as 'k) state -> ('a -> ([< `Client_process | `Session ], 'k) state -> 'a) -> 'a -> 'a
Fold all sessions in a groups, or all client processes in a session. If you do not call the function during a request or during the initialisation phase of the Eliom module, you must provide the extra parameter ?sitedata , that you can get by calling Eliom_request_info.get_sitedata during the initialisation phase of the Eliom module.
val iter_volatile_sub_states : ?sitedata:Eliom_common.sitedata -> state:([< `Session | `Session_group ], [< `Data | `Service ] as 'k) state -> (([< `Client_process | `Session ], 'k) state -> unit) -> unit
Iter on all sessions in a groups, or all client processes in a session. See Eliom_state.Ext.fold_volatile_sub_states for explanation about the ?sitedata parameter.
val fold_sub_states : ?sitedata:Eliom_common.sitedata -> state:([< `Session | `Session_group ], [< `Data | `Pers | `Service ] as 'k) state -> ('a -> ([< `Client_process | `Session ], 'k) state -> 'a Lwt.t) -> 'a -> 'a Lwt.t
Fold all sessions in a groups, or all client processes in a session. See Eliom_state.Ext.fold_volatile_sub_states for explanation about the ?sitedata parameter.
val iter_sub_states : ?sitedata:Eliom_common.sitedata -> state:([< `Session | `Session_group ], 'k) state -> (([< `Client_process | `Session ], 'k) state -> unit Lwt.t) -> unit Lwt.t
Iter on all sessions in a groups, or all client processes in a session. See Eliom_state.Ext.fold_volatile_sub_states for explanation about the ?sitedata parameter.
module Low_level : sig end
val get_service_cookie_info : ([< Eliom_common.cookie_level ], [ `Service ]) state -> service_cookie_info
Get the infomration about cookies (timeouts, etc.)
val get_volatile_data_cookie_info : ([< Eliom_common.cookie_level ], [ `Data ]) state -> data_cookie_info
val get_persistent_cookie_info : ([< Eliom_common.cookie_level ], [ `Pers ]) state -> persistent_cookie_info Lwt.t
val get_service_cookie_scope : cookie:service_cookie_info -> Eliom_common.user_scope
val get_volatile_data_cookie_scope : cookie:data_cookie_info -> Eliom_common.user_scope
val get_persistent_data_cookie_scope : cookie:persistent_cookie_info -> Eliom_common.user_scope
val set_service_cookie_timeout : cookie:service_cookie_info -> float option -> unit
val set_volatile_data_cookie_timeout : cookie:data_cookie_info -> float option -> unit
val set_persistent_data_cookie_timeout : cookie:persistent_cookie_info -> float option -> unit Lwt.t
val get_service_cookie_timeout : cookie:service_cookie_info -> timeout
val get_volatile_data_cookie_timeout : cookie:data_cookie_info -> timeout
val get_persistent_data_cookie_timeout : cookie:persistent_cookie_info -> timeout
val unset_service_cookie_timeout : cookie:service_cookie_info -> unit
val unset_volatile_data_cookie_timeout : cookie:data_cookie_info -> unit
val unset_persistent_data_cookie_timeout : cookie:persistent_cookie_info -> unit Lwt.t
val get_session_group_list : unit -> string list
Returns a list containing the names of all session group that are available for this site.
val iter_service_cookies : (service_cookie_info -> unit Lwt.t) -> unit Lwt.t
Iterator on all active service cookies. Lwt_unix.yield is called automatically after each iteration.
val iter_volatile_data_cookies : (data_cookie_info -> unit Lwt.t) -> unit Lwt.t
Iterator on data cookies. Lwt_unix.yield is called automatically after each iteration.
val iter_persistent_data_cookies : (persistent_cookie_info -> unit Lwt.t) -> unit Lwt.t
Iterator on persistent cookies. Lwt_unix.yield is called automatically after each iteration.
val fold_service_cookies : (service_cookie_info -> 'b -> 'b Lwt.t) -> 'b -> 'b Lwt.t
Iterator on service cookies. Lwt_unix.yield is called automatically after each iteration.
val fold_volatile_data_cookies : (data_cookie_info -> 'b -> 'b Lwt.t) -> 'b -> 'b Lwt.t
Iterator on data cookies. Lwt_unix.yield is called automatically after each iteration.
val fold_persistent_data_cookies : (persistent_cookie_info -> 'b -> 'b Lwt.t) -> 'b -> 'b Lwt.t
Iterator on persistent cookies. Lwt_unix.yield is called automatically after each iteration.