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 |
(* | timeout duration in seconds | *) |
Type used to describe session timeouts
These types are used to get or set information about browser or process cookies (like timeouts).
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 ]) statevolatile_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 ]) stateSame for persistent data
val service_group_state : ?scope:Eliom_common.session_group_scope ->
string -> ([> `Session_group ], [> `Service ]) stateSame for services
val current_volatile_data_state : ?secure:bool ->
?scope:Eliom_common.user_scope ->
unit -> ([< Eliom_common.user_level ], [< `Data ]) statecurrent_volatile_data_state ~scope returns the state corresponding
to scope scope.
Raises Not_found if not connected or if no session group is set,
or Eliom_common.Eliom_Session_expired if a cookie was present but
expired.
val current_persistent_data_state : ?secure:bool ->
?scope:Eliom_common.user_scope ->
unit ->
([< Eliom_common.user_level ], [< `Pers ]) state Lwt.tSame for persistent data
val current_service_state : ?secure:bool ->
?scope:Eliom_common.user_scope ->
unit -> ([< Eliom_common.user_level ], [< `Service ]) stateSame for services
val discard_state : state:('a, 'b) state -> unit Lwt.tDiscard 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 -> 'aFold 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) -> unitIter 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.tFold all sessions in a groups, or all client processes in a session
(volatile and persistent).
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.tIter on all sessions in a groups, or all client processes in a session
(volatile and persistent).
See Eliom_state.Ext.fold_volatile_sub_states for explanation about the ?sitedata
parameter.
module Low_level:sig..end
: ([< Eliom_common.cookie_level ], [ `Service ]) state ->
service_cookie_infoGet the infomration about cookies (timeouts, etc.)
: ([< Eliom_common.cookie_level ], [ `Data ]) state ->
data_cookie_info
: ([< Eliom_common.cookie_level ], [ `Pers ]) state ->
persistent_cookie_info Lwt.t
: cookie:service_cookie_info -> Eliom_common.user_scope
: cookie:data_cookie_info -> Eliom_common.user_scope
: cookie:persistent_cookie_info -> Eliom_common.user_scope
: cookie:service_cookie_info -> float option -> unit
: cookie:data_cookie_info -> float option -> unit
: cookie:persistent_cookie_info -> float option -> unit Lwt.t
: cookie:service_cookie_info -> timeout
: cookie:data_cookie_info -> timeout
: cookie:persistent_cookie_info -> timeout
: cookie:service_cookie_info -> unit
: cookie:data_cookie_info -> unit
: cookie:persistent_cookie_info -> unit Lwt.t
val get_session_group_list : unit -> string listReturns a list containing the names of all session group that are available for this site.
: (service_cookie_info -> unit Lwt.t) -> unit Lwt.tIterator on all active service cookies.
Lwt.pause is called automatically after each iteration.
: (data_cookie_info -> unit Lwt.t) -> unit Lwt.tIterator on data cookies. Lwt.pause is called automatically
after each iteration.
: (persistent_cookie_info -> unit Lwt.t) -> unit Lwt.tIterator on persistent cookies. Lwt.pause is called automatically
after each iteration.
: (service_cookie_info -> 'b -> 'b Lwt.t) -> 'b -> 'b Lwt.tIterator on service cookies. Lwt.pause is called automatically
after each iteration.
: (data_cookie_info -> 'b -> 'b Lwt.t) -> 'b -> 'b Lwt.tIterator on data cookies. Lwt.pause is called automatically
after each iteration.
: (persistent_cookie_info -> 'b -> 'b Lwt.t) -> 'b -> 'b Lwt.tIterator on persistent cookies. Lwt.pause is called automatically
after each iteration.