package eliom

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type scope_hierarchy = Eliom_common_base.scope_hierarchy
type user_scope = [
  1. | `Client_process of scope_hierarchy
  2. | `Session of scope_hierarchy
  3. | `Session_group of scope_hierarchy
]
type scope = [
  1. | `Client_process of scope_hierarchy
  2. | `Session of scope_hierarchy
  3. | `Session_group of scope_hierarchy
  4. | `Site
]
type all_scope = [
  1. | `Client_process of scope_hierarchy
  2. | `Global
  3. | `Request
  4. | `Session of scope_hierarchy
  5. | `Session_group of scope_hierarchy
  6. | `Site
]
type user_level = [
  1. | `Client_process
  2. | `Session
  3. | `Session_group
]
val level_of_user_scope : [< user_scope ] -> [> user_level ]
type global_scope = [
  1. | `Global
]
type site_scope = [
  1. | `Site
]
type session_group_scope = [
  1. | `Session_group of scope_hierarchy
]
type session_scope = [
  1. | `Session of scope_hierarchy
]
type client_process_scope = [
  1. | `Client_process of scope_hierarchy
]
type request_scope = [
  1. | `Request
]
val global_scope : global_scope
val site_scope : site_scope
val default_group_scope : session_group_scope
val default_session_scope : session_scope
val default_process_scope : client_process_scope
val comet_client_process_scope : client_process_scope
val request_scope : request_scope
val create_scope_hierarchy : string -> scope_hierarchy
val list_scope_hierarchies : unit -> 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 = user_scope * bool * string
module Full_state_name_table : sig ... end
val eliom_service_session_expired : (full_state_name list * 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 tenable_value
type att_key_serv =
  1. | SAtt_no
  2. | SAtt_named of string
  3. | SAtt_anon of string
  4. | SAtt_csrf_safe of int * user_scope * bool option
  5. | SAtt_na_named of string
  6. | SAtt_na_anon of string
  7. | SAtt_na_csrf_safe of int * user_scope * bool option
type na_key_serv =
  1. | SNa_no
  2. | SNa_void_keep
  3. | SNa_void_dontkeep
  4. | SNa_get_ of string
  5. | SNa_post_ of string
  6. | SNa_get' of string
  7. | SNa_post' of string
  8. | SNa_get_csrf_safe of int * user_scope * bool option
  9. | SNa_post_csrf_safe of int * user_scope * bool option
type att_key_req =
  1. | RAtt_no
  2. | RAtt_named of string
  3. | RAtt_anon of string
type na_key_req =
  1. | RNa_no
  2. | RNa_get_ of string
  3. | RNa_post_ of string
  4. | RNa_get' of string
  5. | RNa_post' of string
exception Eliom_duplicate_registration of string
exception Eliom_there_are_unregistered_services of string list * string list list * 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 inline_class_name : string
val nodisplay_class_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 = {
  1. cpi_ssl : bool;
  2. cpi_hostname : string;
  3. cpi_server_port : int;
  4. cpi_original_full_path : Eliom_lib.Url.path;
}
type sess_info = {
  1. si_other_get_params : (string * string) list;
  2. si_all_get_params : (string * string) list;
  3. si_all_post_params : (string * string) list option;
  4. si_all_file_params : (string * Eliom_lib.file_info) list option;
  5. si_service_session_cookies : string Full_state_name_table.t;
  6. si_data_session_cookies : string Full_state_name_table.t;
  7. si_persistent_session_cookies : string Full_state_name_table.t;
  8. si_service_session_cookies_tab : string Full_state_name_table.t;
  9. si_data_session_cookies_tab : string Full_state_name_table.t;
  10. si_persistent_session_cookies_tab : string Full_state_name_table.t;
  11. si_tab_cookies : string Ocsigen_cookies.CookiesTable.t;
  12. si_nonatt_info : na_key_req;
  13. si_state_info : att_key_req * att_key_req;
  14. si_previous_extension_error : int;
  15. si_na_get_params : (string * string) list Lazy.t;
  16. si_nl_get_params : (string * string) list Eliom_lib.String.Table.t;
  17. si_nl_post_params : (string * string) list Eliom_lib.String.Table.t;
  18. si_nl_file_params : (string * Eliom_lib.file_info) list Eliom_lib.String.Table.t;
  19. si_persistent_nl_get_params : (string * string) list Eliom_lib.String.Table.t Lazy.t;
  20. si_all_get_but_na_nl : (string * string) list Lazy.t;
  21. si_all_get_but_nl : (string * string) list;
  22. si_client_process_info : client_process_info option;
  23. si_expect_process_data : bool Lazy.t;
}
module SessionCookies : sig ... end
type 'a sessgrp = string * cookie_level * (string, Ipaddr.t) Eliom_lib.leftright
type perssessgrp
val make_persistent_full_group_name : cookie_level:cookie_level -> string -> string option -> perssessgrp option
val getperssessgrp : perssessgrp -> string * cookie_level * (string, Ipaddr.t) Eliom_lib.leftright
val string_of_perssessgrp : perssessgrp -> string
type timeout =
  1. | TGlobal
  2. | TNone
  3. | TSome of float
type !'a servicecookiestablecontent = full_state_name * 'a * float option Pervasives.ref * timeout Pervasives.ref * cookie_level sessgrp Pervasives.ref * string Ocsigen_cache.Dlist.node
type 'a servicecookiestable = 'a servicecookiestablecontent SessionCookies.t
type datacookiestablecontent = full_state_name * float option Pervasives.ref * timeout Pervasives.ref * cookie_level sessgrp Pervasives.ref * string Ocsigen_cache.Dlist.node
type meth = [
  1. | `Delete
  2. | `Get
  3. | `Other
  4. | `Post
  5. | `Put
]
type page_table_key = {
  1. key_state : att_key_serv * att_key_serv;
  2. key_meth : meth;
}
module NAserv_Table : sig ... end
module Serv_Table : sig ... end
type dlist_ip_table
type anon_params_type = int
type node_ref = string
type node_info = {
  1. ni_id : node_ref;
  2. mutable ni_sent : bool;
}
module Hier_set : Set.S
type !'a dircontent =
  1. | Vide
  2. | Table of 'a direlt Pervasives.ref Eliom_lib.String.Table.t
and !'a direlt =
  1. | Dir of 'a dircontent Pervasives.ref
  2. | File of 'a Pervasives.ref
type (!'params, !'result) service = {
  1. s_id : anon_params_type * anon_params_type;
  2. mutable s_max_use : int option;
  3. s_expire : (float * float Pervasives.ref) option;
  4. s_f : bool -> 'params -> 'result Lwt.t;
}
type server_params = {
  1. sp_request : Ocsigen_extensions.request;
  2. sp_si : sess_info;
  3. sp_sitedata : sitedata;
  4. mutable sp_user_cookies : Ocsigen_cookies.cookieset;
  5. mutable sp_user_tab_cookies : Ocsigen_cookies.cookieset;
  6. mutable sp_client_appl_name : string option;
  7. sp_suffix : Eliom_lib.Url.path option;
  8. sp_full_state_name : full_state_name option;
  9. sp_client_process_info : client_process_info;
}
and page_table_content = [
  1. | `Ptc of (page_table Pervasives.ref * page_table_key, na_key_serv) Eliom_lib.leftright Ocsigen_cache.Dlist.node option * (server_params, Ocsigen_http_frame.result) service list
]
and naservice_table_content = int * int Pervasives.ref option * (float * float Pervasives.ref) option * (server_params -> Ocsigen_http_frame.result Lwt.t) * (page_table Pervasives.ref * page_table_key, na_key_serv) Eliom_lib.leftright Ocsigen_cache.Dlist.node option
and naservice_table =
  1. | AVide
  2. | ATable of naservice_table_content NAserv_Table.t
and tables = {
  1. mutable table_services : (int * int * page_table dircontent Pervasives.ref) list;
  2. table_naservices : naservice_table Pervasives.ref;
  3. mutable table_contains_services_with_timeout : bool;
  4. mutable table_contains_naservices_with_timeout : bool;
  5. mutable csrf_get_or_na_registration_functions : (sp:server_params -> string) Eliom_lib.Int.Table.t;
  6. mutable csrf_post_registration_functions : (sp:server_params -> att_key_serv -> string) Eliom_lib.Int.Table.t;
  7. service_dlist_add : ?sp:server_params -> (page_table Pervasives.ref * page_table_key, na_key_serv) Eliom_lib.leftright -> (page_table Pervasives.ref * page_table_key, na_key_serv) Eliom_lib.leftright Ocsigen_cache.Dlist.node;
}
and sitedata = {
  1. site_dir : Eliom_lib.Url.path;
  2. site_dir_string : string;
  3. config_info : Ocsigen_extensions.config_info;
  4. mutable servtimeout : (float option * bool) option * (float option * bool) option * (full_state_name * (float option * bool)) list;
  5. mutable datatimeout : (float option * bool) option * (float option * bool) option * (full_state_name * (float option * bool)) list;
  6. mutable perstimeout : (float option * bool) option * (float option * bool) option * (full_state_name * (float option * bool)) list;
  7. site_value_table : Polytables.t;
  8. mutable registered_scope_hierarchies : Hier_set.t;
  9. global_services : tables;
  10. session_services : tables servicecookiestable;
  11. session_data : datacookiestable;
  12. group_of_groups : [ `Session_group ] sessgrp Ocsigen_cache.Dlist.t;
  13. mutable remove_session_data : string -> unit;
  14. mutable not_bound_in_data_tables : string -> bool;
  15. mutable exn_handler : exn -> Ocsigen_http_frame.result Lwt.t;
  16. mutable unregistered_services : Eliom_lib.Url.path list;
  17. mutable unregistered_na_services : na_key_serv list;
  18. mutable max_volatile_data_sessions_per_group : int * bool;
  19. mutable max_volatile_data_sessions_per_subnet : int * bool;
  20. mutable max_volatile_data_tab_sessions_per_group : int * bool;
  21. mutable max_service_sessions_per_group : int * bool;
  22. mutable max_service_sessions_per_subnet : int * bool;
  23. mutable max_service_tab_sessions_per_group : int * bool;
  24. mutable max_persistent_data_sessions_per_group : int option * bool;
  25. mutable max_persistent_data_tab_sessions_per_group : int option * bool;
  26. mutable max_anonymous_services_per_session : int * bool;
  27. mutable max_anonymous_services_per_subnet : int * bool;
  28. mutable secure_cookies : bool;
  29. dlist_ip_table : dlist_ip_table;
  30. mutable ipv4mask : int option * bool;
  31. mutable ipv6mask : int option * bool;
}
type 'a lazy_site_value
val force_lazy_site_value : 'a lazy_site_value -> 'a
val lazy_site_value_from_fun : (unit -> 'a) -> 'a lazy_site_value
exception Eliom_retry_with of info
val make_server_params : sitedata -> info -> Eliom_lib.Url.path option -> full_state_name option -> server_params
val empty_page_table : unit -> page_table
val empty_dircontent : unit -> 'a dircontent
val empty_naservice_table : unit -> naservice_table
val service_tables_are_empty : tables -> bool
val empty_tables : int -> bool -> tables
val new_service_session_tables : sitedata -> tables
val split_prefix_param : string -> (string * 'a) list -> (string * 'a) list * (string * 'a) list
type (!'a, !'b) foundornot =
  1. | Found of 'a
  2. | Notfound of 'b
val make_full_state_name : sp:server_params -> secure:bool -> scope:[< user_scope ] -> full_state_name
val make_full_state_name2 : string -> bool -> scope:[< user_scope ] -> full_state_name
module Perstables : sig ... end
val perstables : string list Pervasives.ref
val create_persistent_table : string -> 'a Ocsipersist.table Lwt.t
val persistent_cookies_table : (full_state_name * float option * timeout * perssessgrp option) Ocsipersist.table Lwt.t Lazy.t
val remove_from_all_persistent_tables : string -> unit Lwt.t
val absolute_change_sitedata : sitedata -> unit
val get_current_sitedata : unit -> sitedata
val end_current_sitedata : unit -> unit
val add_unregistered : sitedata -> Eliom_lib.Url.path -> unit
val add_unregistered_na : sitedata -> na_key_serv -> unit
val remove_unregistered : sitedata -> Eliom_lib.Url.path -> unit
val remove_unregistered_na : sitedata -> na_key_serv -> unit
val verify_all_registered : 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 -> sitedata) option
val get_site_data : unit -> sitedata
val eliom_params_after_action : ((string * string) list * (string * string) list option * (string * Eliom_lib.file_info) list option * (string * string) list Eliom_lib.String.Table.t * (string * string) list Eliom_lib.String.Table.t * (string * Eliom_lib.file_info) list Eliom_lib.String.Table.t * (string * string) list) Polytables.key
val att_key_serv_of_req : att_key_req -> att_key_serv
val na_key_serv_of_req : na_key_req -> na_key_serv
val remove_naservice_table : naservice_table -> NAserv_Table.key -> naservice_table
val get_mask4 : sitedata -> int
val get_mask6 : sitedata -> int
val network_of_ip : Ipaddr.t -> int -> int -> Ipaddr.t
val ipv4mask : int Pervasives.ref
val ipv6mask : int Pervasives.ref
val create_dlist_ip_table : int -> dlist_ip_table
val find_dlist_ip_table : (int option * 'a) -> (int option * 'a) -> dlist_ip_table -> Ipaddr.t -> (page_table Pervasives.ref * page_table_key, na_key_serv) Eliom_lib.leftright Ocsigen_cache.Dlist.t
val sp_key : server_params Lwt.key
val get_sp_option : unit -> server_params option
val get_sp : unit -> server_params
val sp_of_option : server_params option -> server_params
val found_stop_key : unit Polytables.key
type 'a wrapper = 'a Eliom_wrap.wrapper
val make_wrapper : ('a -> 'b) -> 'a wrapper
val empty_wrapper : unit -> 'a wrapper
type unwrapper = Eliom_wrap.unwrapper
type unwrap_id = Eliom_wrap.unwrap_id
val make_unwrapper : unwrap_id -> unwrapper
val empty_unwrapper : unwrapper
val react_up_unwrap_id : unwrap_id
val react_down_unwrap_id : unwrap_id
val signal_down_unwrap_id : unwrap_id
val comet_channel_unwrap_id : unwrap_id
val bus_unwrap_id : unwrap_id
val nl_get_appl_parameter : string
type eliom_js_page_data = {
  1. ejs_global_data : (Eliom_runtime.global_data * Eliom_wrap.unwrapper) option;
  2. ejs_request_data : Eliom_runtime.request_data;
  3. ejs_event_handler_table : Eliom_runtime.RawXML.event_handler_table;
  4. ejs_client_attrib_table : Eliom_runtime.RawXML.client_attrib_table;
  5. ejs_sess_info : sess_info;
}
val get_site_dir : sitedata -> Eliom_lib.Url.path
val get_site_dir_string : sitedata -> string
val get_secure : secure_o:bool option -> sitedata:sitedata -> unit -> bool
val is_client_app : bool Pervasives.ref
val make_actual_path : string list -> string list
type !'a to_and_of = {
  1. of_string : string -> 'a;
  2. to_string : 'a -> string;
}
module To_and_of_shared : sig ... end
val client_html_file : unit -> string
OCaml

Innovation. Community. Security.