Eliom_common(3) Low level functions for Eliom, exceptions and types.


Module Eliom_common


Module Eliom_common
 :  sig end

Low level functions for Eliom, exceptions and types.

exception Eliom_404

Page not found

exception Eliom_Wrong_parameter

Service called with wrong parameter names

exception Eliom_Session_expired

exception Eliom_Typing_Error of (string * exn) list

The service (GET or POST) parameters do not match expected type

exception Eliom_site_information_not_available of string

That function cannot be used when the site information is not available, that is, outside a request or the initialisation phase of your Eliom module (while reading the configuration file).

In particular, you cannot use the function before the configuration file is read for example when you are using static linking. In that case you must delay the function call using Eliom_service.register_eliom_module .

type scope_name = Eliom_common_base.scope_name

type user_scope = [ `Client_process of scope_name | `Session of scope_name | `Session_group of scope_name ]

type scope = [ `Client_process of scope_name | `Session of scope_name | `Session_group of scope_name | `Site ]

type all_scope = [ `Client_process of scope_name | `Global | `Request | `Session of scope_name | `Session_group of scope_name | `Site ]

type global_scope = [ `Global ]

type site_scope = [ `Site ]

type session_group_scope = [ `Session_group of scope_name ]

type session_scope = [ `Session of scope_name ]

type client_process_scope = [ `Client_process of scope_name ]

type request_scope = [ `Request ]

val global : global_scope

val site : site_scope

val session_group : session_group_scope

val session : session_scope

val client_process : client_process_scope

val comet_client_process : client_process_scope

val request : request_scope

val create_scope_name : string -> scope_name

val list_scope_names : unit -> scope_name list

type cookie_scope = [ `Client_process | `Session ]

Eliom is using regular (browser) cookies but can also use browser tab cookies (only if you are using a client side program)

It is possible to define data tables or service table for one (browser) session, for one tab, or for one group of sessions.

val cookie_scope_of_user_scope : [< user_scope ] -> [> cookie_scope ]

type fullsessionname = cookie_scope * string

module Fullsessionname_Table : sig end

val eliom_link_too_old : bool Polytables.key

If present and true in request data, it means that the previous coservice does not exist any more

val eliom_service_session_expired : (fullsessionname list * fullsessionname list) Polytables.key

If present in request data, means that the service session cookies does not exist any more. The string lists are the list of names of expired sessions