sig
type scope_hierarchy = Eliom_common_base.scope_hierarchy
type cookie_scope =
[ `Client_process of Eliom_common.scope_hierarchy
| `Session of Eliom_common.scope_hierarchy ]
type user_scope =
[ `Client_process of Eliom_common.scope_hierarchy
| `Session of Eliom_common.scope_hierarchy
| `Session_group of Eliom_common.scope_hierarchy ]
type scope =
[ `Client_process of Eliom_common.scope_hierarchy
| `Session of Eliom_common.scope_hierarchy
| `Session_group of Eliom_common.scope_hierarchy
| `Site ]
type all_scope =
[ `Client_process of Eliom_common.scope_hierarchy
| `Global
| `Request
| `Session of Eliom_common.scope_hierarchy
| `Session_group of Eliom_common.scope_hierarchy
| `Site ]
type cookie_level = [ `Client_process | `Session ]
type user_level = [ `Client_process | `Session | `Session_group ]
val cookie_scope_of_user_scope :
[< Eliom_common.user_scope ] -> [> Eliom_common.cookie_scope ]
val cookie_level_of_user_scope :
[< Eliom_common.user_scope ] -> [> Eliom_common.cookie_level ]
val level_of_user_scope :
[< Eliom_common.user_scope ] -> [> Eliom_common.user_level ]
type global_scope = [ `Global ]
type site_scope = [ `Site ]
type session_group_scope =
[ `Session_group of Eliom_common.scope_hierarchy ]
type session_scope = [ `Session of Eliom_common.scope_hierarchy ]
type client_process_scope =
[ `Client_process of Eliom_common.scope_hierarchy ]
type request_scope = [ `Request ]
val global_scope : Eliom_common.global_scope
val site_scope : Eliom_common.site_scope
val default_group_scope : Eliom_common.session_group_scope
val default_session_scope : Eliom_common.session_scope
val default_process_scope : Eliom_common.client_process_scope
val comet_client_process_scope : Eliom_common.client_process_scope
val request_scope : Eliom_common.request_scope
val create_scope_hierarchy : string -> Eliom_common.scope_hierarchy
val list_scope_hierarchies : unit -> Eliom_common.scope_hierarchy list
exception Eliom_404
exception Eliom_Wrong_parameter
exception Eliom_Session_expired
exception Eliom_Typing_Error of (string * exn) list
exception Eliom_site_information_not_available of string
type full_state_name = Eliom_common.user_scope * bool * string
module Full_state_name_table :
sig
type key = full_state_name
type +'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge :
(key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> 'c t
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
val iter : (key -> 'a -> unit) -> 'a t -> unit
val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val for_all : (key -> 'a -> bool) -> 'a t -> bool
val exists : (key -> 'a -> bool) -> 'a t -> bool
val filter : (key -> 'a -> bool) -> 'a t -> 'a t
val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
val cardinal : 'a t -> int
val bindings : 'a t -> (key * 'a) list
val min_binding : 'a t -> key * 'a
val max_binding : 'a t -> key * 'a
val choose : 'a t -> key * 'a
val split : key -> 'a t -> 'a t * 'a option * 'a t
val find : key -> 'a t -> 'a
val map : ('a -> 'b) -> 'a t -> 'b t
val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
end
val eliom_link_too_old : bool Polytables.key
val eliom_service_session_expired :
(Eliom_common.full_state_name list * Eliom_common.full_state_name list)
Polytables.key
exception Eliom_do_redirection of string
exception Eliom_do_half_xhr_redirection of string
type 'a tenable_value =
< get : 'a; set : ?override_tenable:bool -> 'a -> unit >
val tenable_value : name:string -> 'a -> 'a Eliom_common.tenable_value
type att_key_serv =
SAtt_no
| SAtt_named of string
| SAtt_anon of string
| SAtt_csrf_safe of (int * Eliom_common.user_scope * bool option)
type na_key_serv =
SNa_no
| SNa_void_keep
| SNa_void_dontkeep
| SNa_get_ of string
| SNa_post_ of string
| SNa_get' of string
| SNa_post' of string
| SNa_get_csrf_safe of (int * Eliom_common.user_scope * bool option)
| SNa_post_csrf_safe of (int * Eliom_common.user_scope * bool option)
type att_key_req = RAtt_no | RAtt_named of string | RAtt_anon of string
type na_key_req =
RNa_no
| RNa_get_ of string
| RNa_post_ of string
| RNa_get' of string
| RNa_post' of string
exception Eliom_duplicate_registration of string
exception Eliom_there_are_unregistered_services of
(string list * string list list * Eliom_common.na_key_serv list)
exception Eliom_page_erasing of string
exception Eliom_error_while_loading_site of string
val defaultpagename : string
val eliom_suffix_name : string
val eliom_suffix_internal_name : string
val eliom_nosuffix_page : string
val naservice_num : string
val naservice_name : string
val get_state_param_name : string
val post_state_param_name : string
val get_numstate_param_name : string
val post_numstate_param_name : string
val co_param_prefix : string
val na_co_param_prefix : string
val nl_param_prefix : string
val eliom_internal_nlp_prefix : string
val pnl_param_prefix : string
val npnl_param_prefix : string
val datacookiename : string
val servicecookiename : string
val persistentcookiename : string
val persistent_cookie_table_version : string
val eliom_persistent_cookie_table : string
val inline_class_name : string
val nodisplay_class_name : string
val appl_name_cookie_name : string
val tab_cookies_param_name : string
val to_be_considered_as_get_param_name : string
val full_xhr_redir_header : string
val half_xhr_redir_header : string
val default_group_name : string
type client_process_info = {
cpi_ssl : bool;
cpi_hostname : string;
cpi_server_port : int;
cpi_original_full_path : Eliom_lib.Url.path;
}
type sess_info = {
si_other_get_params : (string * string) list;
si_all_get_params : (string * string) list;
si_all_post_params : (string * string) list option;
si_service_session_cookies : string Eliom_common.Full_state_name_table.t;
si_data_session_cookies : string Eliom_common.Full_state_name_table.t;
si_persistent_session_cookies :
string Eliom_common.Full_state_name_table.t;
si_secure_cookie_info :
(string Eliom_common.Full_state_name_table.t *
string Eliom_common.Full_state_name_table.t *
string Eliom_common.Full_state_name_table.t)
option;
si_service_session_cookies_tab :
string Eliom_common.Full_state_name_table.t;
si_data_session_cookies_tab : string Eliom_common.Full_state_name_table.t;
si_persistent_session_cookies_tab :
string Eliom_common.Full_state_name_table.t;
si_secure_cookie_info_tab :
(string Eliom_common.Full_state_name_table.t *
string Eliom_common.Full_state_name_table.t *
string Eliom_common.Full_state_name_table.t)
option;
si_tab_cookies : string Ocsigen_cookies.CookiesTable.t;
si_nonatt_info : Eliom_common.na_key_req;
si_state_info : Eliom_common.att_key_req * Eliom_common.att_key_req;
si_previous_extension_error : int;
si_na_get_params : (string * string) list Lazy.t;
si_nl_get_params : (string * string) list Eliom_lib.String.Table.t;
si_nl_post_params : (string * string) list Eliom_lib.String.Table.t;
si_persistent_nl_get_params :
(string * string) list Eliom_lib.String.Table.t Lazy.t;
si_all_get_but_na_nl : (string * string) list Lazy.t;
si_all_get_but_nl : (string * string) list;
si_client_process_info : Eliom_common.client_process_info option;
si_expect_process_data : bool Lazy.t;
}
module SessionCookies :
sig
type key = string
type 'a t
val create : int -> 'a t
val clear : 'a t -> unit
val reset : 'a t -> unit
val copy : 'a t -> 'a t
val add : 'a t -> key -> 'a -> unit
val remove : 'a t -> key -> unit
val find : 'a t -> key -> 'a
val find_all : 'a t -> key -> 'a list
val replace : 'a t -> key -> 'a -> unit
val mem : 'a t -> key -> bool
val iter : (key -> 'a -> unit) -> 'a t -> unit
val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val length : 'a t -> int
val stats : 'a t -> Hashtbl.statistics
end
type 'a sessgrp =
string * Eliom_common.cookie_level *
(string, Eliom_lib.Ip_address.t) Eliom_lib.leftright
type perssessgrp
val make_persistent_full_group_name :
cookie_level:Eliom_common.cookie_level ->
string -> string option -> Eliom_common.perssessgrp option
val getperssessgrp :
Eliom_common.perssessgrp ->
string * Eliom_common.cookie_level *
(string, Eliom_lib.Ip_address.t) Eliom_lib.leftright
val string_of_perssessgrp : Eliom_common.perssessgrp -> string
type 'a session_cookie = SCNo_data | SCData_session_expired | SC of 'a
type cookie_exp = CENothing | CEBrowser | CESome of float
type timeout = TGlobal | TNone | TSome of float
type 'a one_service_cookie_info = {
sc_value : string;
sc_table : 'a Pervasives.ref;
sc_timeout : Eliom_common.timeout Pervasives.ref;
sc_exp : float option Pervasives.ref;
sc_cookie_exp : Eliom_common.cookie_exp Pervasives.ref;
sc_session_group :
Eliom_common.cookie_level Eliom_common.sessgrp Pervasives.ref;
mutable sc_session_group_node : string Ocsigen_cache.Dlist.node;
}
type one_data_cookie_info = {
dc_value : string;
dc_timeout : Eliom_common.timeout Pervasives.ref;
dc_exp : float option Pervasives.ref;
dc_cookie_exp : Eliom_common.cookie_exp Pervasives.ref;
dc_session_group :
Eliom_common.cookie_level Eliom_common.sessgrp Pervasives.ref;
mutable dc_session_group_node : string Ocsigen_cache.Dlist.node;
}
type one_persistent_cookie_info = {
pc_value : string;
pc_timeout : Eliom_common.timeout Pervasives.ref;
pc_cookie_exp : Eliom_common.cookie_exp Pervasives.ref;
pc_session_group : Eliom_common.perssessgrp option Pervasives.ref;
}
type 'a cookie_info1 =
(string option *
'a Eliom_common.one_service_cookie_info Eliom_common.session_cookie
Pervasives.ref)
Eliom_common.Full_state_name_table.t Pervasives.ref *
(string option *
Eliom_common.one_data_cookie_info Eliom_common.session_cookie
Pervasives.ref)
Lazy.t Eliom_common.Full_state_name_table.t Pervasives.ref *
((string * Eliom_common.timeout * float option *
Eliom_common.perssessgrp option)
option *
Eliom_common.one_persistent_cookie_info Eliom_common.session_cookie
Pervasives.ref)
Lwt.t Lazy.t Eliom_common.Full_state_name_table.t Pervasives.ref
type 'a cookie_info =
'a Eliom_common.cookie_info1 * 'a Eliom_common.cookie_info1 option
type 'a servicecookiestablecontent =
Eliom_common.full_state_name * 'a * float option Pervasives.ref *
Eliom_common.timeout Pervasives.ref *
Eliom_common.cookie_level Eliom_common.sessgrp Pervasives.ref *
string Ocsigen_cache.Dlist.node
type 'a servicecookiestable =
'a Eliom_common.servicecookiestablecontent
Eliom_common.SessionCookies.t
type datacookiestablecontent =
Eliom_common.full_state_name * float option Pervasives.ref *
Eliom_common.timeout Pervasives.ref *
Eliom_common.cookie_level Eliom_common.sessgrp Pervasives.ref *
string Ocsigen_cache.Dlist.node
type datacookiestable =
Eliom_common.datacookiestablecontent Eliom_common.SessionCookies.t
type page_table_key = {
key_state : Eliom_common.att_key_serv * Eliom_common.att_key_serv;
key_kind : Ocsigen_http_frame.Http_header.http_method;
}
module NAserv_Table :
sig
type key = na_key_serv
type +'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge :
(key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> 'c t
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
val iter : (key -> 'a -> unit) -> 'a t -> unit
val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val for_all : (key -> 'a -> bool) -> 'a t -> bool
val exists : (key -> 'a -> bool) -> 'a t -> bool
val filter : (key -> 'a -> bool) -> 'a t -> 'a t
val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
val cardinal : 'a t -> int
val bindings : 'a t -> (key * 'a) list
val min_binding : 'a t -> key * 'a
val max_binding : 'a t -> key * 'a
val choose : 'a t -> key * 'a
val split : key -> 'a t -> 'a t * 'a option * 'a t
val find : key -> 'a t -> 'a
val map : ('a -> 'b) -> 'a t -> 'b t
val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
end
module Serv_Table :
sig
type key = page_table_key
type +'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge :
(key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> 'c t
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
val iter : (key -> 'a -> unit) -> 'a t -> unit
val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val for_all : (key -> 'a -> bool) -> 'a t -> bool
val exists : (key -> 'a -> bool) -> 'a t -> bool
val filter : (key -> 'a -> bool) -> 'a t -> 'a t
val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
val cardinal : 'a t -> int
val bindings : 'a t -> (key * 'a) list
val min_binding : 'a t -> key * 'a
val max_binding : 'a t -> key * 'a
val choose : 'a t -> key * 'a
val split : key -> 'a t -> 'a t * 'a option * 'a t
val find : key -> 'a t -> 'a
val map : ('a -> 'b) -> 'a t -> 'b t
val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
end
type dlist_ip_table
type anon_params_type = int
type node_ref = string
type node_info = { ni_id : Eliom_common.node_ref; mutable ni_sent : bool; }
module Hier_set : Set.S
type server_params = {
sp_request : Ocsigen_extensions.request;
sp_si : Eliom_common.sess_info;
sp_sitedata : Eliom_common.sitedata;
sp_cookie_info : Eliom_common.tables Eliom_common.cookie_info;
sp_tab_cookie_info : Eliom_common.tables Eliom_common.cookie_info;
mutable sp_user_cookies : Ocsigen_cookies.cookieset;
mutable sp_user_tab_cookies : Ocsigen_cookies.cookieset;
mutable sp_client_appl_name : string option;
sp_suffix : Eliom_lib.Url.path option;
sp_full_state_name : Eliom_common.full_state_name option;
sp_client_process_info : Eliom_common.client_process_info;
}
and page_table = Eliom_common.page_table_content Eliom_common.Serv_Table.t
and page_table_content =
Ptc of
(Eliom_common.page_table Pervasives.ref * Eliom_common.page_table_key,
Eliom_common.na_key_serv)
Eliom_lib.leftright Ocsigen_cache.Dlist.node option *
((Eliom_common.anon_params_type * Eliom_common.anon_params_type) *
(int Pervasives.ref option * (float * float Pervasives.ref) option *
(bool ->
Eliom_common.server_params -> Ocsigen_http_frame.result Lwt.t)))
list
and naservice_table_content =
int * int Pervasives.ref option *
(float * float Pervasives.ref) option *
(Eliom_common.server_params -> Ocsigen_http_frame.result Lwt.t) *
(Eliom_common.page_table Pervasives.ref * Eliom_common.page_table_key,
Eliom_common.na_key_serv)
Eliom_lib.leftright Ocsigen_cache.Dlist.node option
and naservice_table =
AVide
| ATable of
Eliom_common.naservice_table_content Eliom_common.NAserv_Table.t
and dircontent =
Vide
| Table of Eliom_common.direlt Pervasives.ref Eliom_lib.String.Table.t
and direlt =
Dir of Eliom_common.dircontent Pervasives.ref
| File of Eliom_common.page_table Pervasives.ref
and tables = {
mutable table_services :
(int * int * Eliom_common.dircontent Pervasives.ref) list;
table_naservices : Eliom_common.naservice_table Pervasives.ref;
mutable table_contains_services_with_timeout : bool;
mutable table_contains_naservices_with_timeout : bool;
mutable csrf_get_or_na_registration_functions :
(sp:Eliom_common.server_params -> string) Eliom_lib.Int.Table.t;
mutable csrf_post_registration_functions :
(sp:Eliom_common.server_params -> Eliom_common.att_key_serv -> string)
Eliom_lib.Int.Table.t;
service_dlist_add :
?sp:Eliom_common.server_params ->
(Eliom_common.page_table Pervasives.ref * Eliom_common.page_table_key,
Eliom_common.na_key_serv)
Eliom_lib.leftright ->
(Eliom_common.page_table Pervasives.ref * Eliom_common.page_table_key,
Eliom_common.na_key_serv)
Eliom_lib.leftright Ocsigen_cache.Dlist.node;
}
and sitedata = {
site_dir : Eliom_lib.Url.path;
site_dir_string : string;
config_info : Ocsigen_extensions.config_info;
default_links_xhr : bool Eliom_common.tenable_value;
mutable servtimeout :
(float option * bool) option * (float option * bool) option *
(Eliom_common.full_state_name * (float option * bool)) list;
mutable datatimeout :
(float option * bool) option * (float option * bool) option *
(Eliom_common.full_state_name * (float option * bool)) list;
mutable perstimeout :
(float option * bool) option * (float option * bool) option *
(Eliom_common.full_state_name * (float option * bool)) list;
site_value_table : Polytables.t;
mutable registered_scope_hierarchies : Hier_set.t;
global_services : Eliom_common.tables;
session_services : Eliom_common.tables Eliom_common.servicecookiestable;
session_data : Eliom_common.datacookiestable;
group_of_groups :
[ `Session_group ] Eliom_common.sessgrp Ocsigen_cache.Dlist.t;
mutable remove_session_data : string -> unit;
mutable not_bound_in_data_tables : string -> bool;
mutable exn_handler : exn -> Ocsigen_http_frame.result Lwt.t;
mutable unregistered_services : Eliom_lib.Url.path list;
mutable unregistered_na_services : Eliom_common.na_key_serv list;
mutable max_volatile_data_sessions_per_group : int * bool;
mutable max_volatile_data_sessions_per_subnet : int * bool;
mutable max_volatile_data_tab_sessions_per_group : int * bool;
mutable max_service_sessions_per_group : int * bool;
mutable max_service_sessions_per_subnet : int * bool;
mutable max_service_tab_sessions_per_group : int * bool;
mutable max_persistent_data_sessions_per_group : int option * bool;
mutable max_persistent_data_tab_sessions_per_group : int option * bool;
mutable max_anonymous_services_per_session : int * bool;
mutable max_anonymous_services_per_subnet : int * bool;
dlist_ip_table : Eliom_common.dlist_ip_table;
mutable ipv4mask : int32 option * bool;
mutable ipv6mask : (int64 * int64) option * bool;
}
type 'a lazy_site_value
val force_lazy_site_value : 'a Eliom_common.lazy_site_value -> 'a
val lazy_site_value_from_fun :
(unit -> 'a) -> 'a Eliom_common.lazy_site_value
type info =
Ocsigen_extensions.request * Eliom_common.sess_info *
Eliom_common.tables Eliom_common.cookie_info *
Eliom_common.tables Eliom_common.cookie_info *
Ocsigen_cookies.cookieset
exception Eliom_retry_with of Eliom_common.info
val make_server_params :
Eliom_common.sitedata ->
Eliom_common.info ->
Eliom_lib.Url.path option ->
Eliom_common.full_state_name option -> Eliom_common.server_params
val empty_page_table : unit -> Eliom_common.page_table
val empty_dircontent : unit -> Eliom_common.dircontent
val empty_naservice_table : unit -> Eliom_common.naservice_table
val service_tables_are_empty : Eliom_common.tables -> bool
val empty_tables : int -> bool -> Eliom_common.tables
val new_service_session_tables :
Eliom_common.sitedata -> Eliom_common.tables
val split_prefix_param :
string -> (string * 'a) list -> (string * 'a) list * (string * 'a) list
val get_session_info :
Ocsigen_extensions.request ->
int ->
(Ocsigen_extensions.request * Eliom_common.sess_info *
(Eliom_common.tables Eliom_common.cookie_info *
Ocsigen_cookies.cookieset)
option)
Lwt.t
type ('a, 'b) foundornot = Found of 'a | Notfound of 'b
val make_full_cookie_name :
string -> Eliom_common.full_state_name -> string
val make_full_state_name :
sp:Eliom_common.server_params ->
secure:bool ->
scope:[< Eliom_common.user_scope ] -> Eliom_common.full_state_name
val make_full_state_name2 :
string ->
bool ->
scope:[< Eliom_common.user_scope ] -> Eliom_common.full_state_name
module Perstables :
sig
val empty : 'a list
val add : 'a -> 'a list -> 'a list
val fold : ('a -> 'b -> 'a) -> 'a -> 'b list -> 'a
end
val perstables : string list Pervasives.ref
val create_persistent_table : string -> 'a Ocsipersist.table
val persistent_cookies_table :
(Eliom_common.full_state_name * float option * Eliom_common.timeout *
Eliom_common.perssessgrp option)
Ocsipersist.table Lazy.t
val remove_from_all_persistent_tables : string -> unit Lwt.t
val absolute_change_sitedata : Eliom_common.sitedata -> unit
val get_current_sitedata : unit -> Eliom_common.sitedata
val end_current_sitedata : unit -> unit
val add_unregistered : Eliom_common.sitedata -> Eliom_lib.Url.path -> unit
val add_unregistered_na :
Eliom_common.sitedata -> Eliom_common.na_key_serv -> unit
val remove_unregistered :
Eliom_common.sitedata -> Eliom_lib.Url.path -> unit
val remove_unregistered_na :
Eliom_common.sitedata -> Eliom_common.na_key_serv -> unit
val verify_all_registered : Eliom_common.sitedata -> unit
val during_eliom_module_loading : unit -> bool
val begin_load_eliom_module : unit -> unit
val end_load_eliom_module : unit -> unit
val global_register_allowed :
unit -> (unit -> Eliom_common.sitedata) option
val get_site_data : unit -> Eliom_common.sitedata
val eliom_params_after_action :
((string * string) list * (string * string) list option *
(string * string) list Eliom_lib.String.Table.t *
(string * string) list Eliom_lib.String.Table.t * (string * string) list)
Polytables.key
val att_key_serv_of_req :
Eliom_common.att_key_req -> Eliom_common.att_key_serv
val na_key_serv_of_req :
Eliom_common.na_key_req -> Eliom_common.na_key_serv
val remove_naservice_table :
Eliom_common.naservice_table ->
Eliom_common.NAserv_Table.key -> Eliom_common.naservice_table
val get_mask4 : Eliom_common.sitedata -> int32
val get_mask6 : Eliom_common.sitedata -> int64 * int64
val ipv4mask : int32 Pervasives.ref
val ipv6mask : (int64 * int64) Pervasives.ref
val create_dlist_ip_table : int -> Eliom_common.dlist_ip_table
val find_dlist_ip_table :
int32 option * 'a ->
(int64 * int64) option * 'a ->
Eliom_common.dlist_ip_table ->
Eliom_lib.Ip_address.t ->
(Eliom_common.page_table Pervasives.ref * Eliom_common.page_table_key,
Eliom_common.na_key_serv)
Eliom_lib.leftright Ocsigen_cache.Dlist.t
val get_cookie_info :
Eliom_common.server_params ->
[< Eliom_common.cookie_level ] ->
Eliom_common.tables Eliom_common.cookie_info
val tab_cookie_action_info_key :
(Eliom_common.tables Eliom_common.cookie_info *
Ocsigen_cookies.cookieset * string Ocsigen_cookies.CookiesTable.t)
Polytables.key
val sp_key : Eliom_common.server_params Lwt.key
val get_sp_option : unit -> Eliom_common.server_params option
val get_sp : unit -> Eliom_common.server_params
val sp_of_option :
Eliom_common.server_params option -> Eliom_common.server_params
val found_stop_key : unit Polytables.key
type 'a wrapper = 'a Eliom_wrap.wrapper
val make_wrapper : ('a -> 'b) -> 'a Eliom_common.wrapper
val empty_wrapper : unit -> 'a Eliom_common.wrapper
type unwrapper = Eliom_wrap.unwrapper
type unwrap_id = Eliom_wrap.unwrap_id
val make_unwrapper : Eliom_common.unwrap_id -> Eliom_common.unwrapper
val empty_unwrapper : Eliom_common.unwrapper
val react_up_unwrap_id : Eliom_common.unwrap_id
val react_down_unwrap_id : Eliom_common.unwrap_id
val signal_down_unwrap_id : Eliom_common.unwrap_id
val comet_channel_unwrap_id : Eliom_common.unwrap_id
val bus_unwrap_id : Eliom_common.unwrap_id
val nl_get_appl_parameter : string
val patch_request_info :
Ocsigen_extensions.request -> Ocsigen_extensions.request
end