module Ocaml:sig
..end
This an instance of the Eliom_registration.Registration
abstract signature.
val register : ?scope:[< Eliom_common.scope ] ->
?options:unit ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Http_headers.t ->
?secure_session:bool ->
service:('get, 'post, [< Eliom_service.service_method ],
[< Eliom_service.attached ],
[< Eliom_service.internal_service_kind ], [< Eliom_service.suff ],
'gn, 'pn, [ `Registrable ], 'return Eliom_service.ocaml_service)
Eliom_service.service ->
?error_handler:((string * exn) list -> 'return Lwt.t) ->
('get -> 'post -> 'return Lwt.t) -> unit
register service handler
will associate the
service
to the function handler
. The handler
function take
two parameters, the GET and POST parameters of the current HTTP
request, and should returns the corresponding page.
The optional parameter ~scope
is Eliom_common.global_scope
by
default, see the Eliom manual for detailled description .
The optional parameter ~options
is specific to each output
module, see the type description for more information.
The optional parameters ?charset
, ?code
, ?content_type
and
?headers
can be used to modify the HTTP answer sent by
Eliom. Use this with care.
The optional parameter ~secure_session
has no effect for scope
Eliom_common.global_scope
. With other scopes, the parameter is used
to force the session service table in which the handler
will be
registered. By default, the service is registred in the unsecure
session if the current request's protocol is http
, or in the
secure session if the protocol is https
. If set to false
(resp. true
) the handler
will be stored in the unsecure
(resp. secure) session. See the Eliom manual for an introduction
to .
The optional parameter ~error_handler
is used to specialize the
error page when actual parameters aren't compatible with the
expected type. The default error handler is
fun l -> raise (
Eliom_common.Eliom_Typing_Error
l)
.
val register_service : ?scope:[< Eliom_common.scope ] ->
?options:unit ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Http_headers.t ->
?secure_session:bool ->
?https:bool ->
?priority:int ->
path:Eliom_lib.Url.path ->
get_params:('get, [< Eliom_service.suff ] as 'a, 'gn)
Eliom_parameter.params_type ->
?error_handler:((string * exn) list -> 'return Lwt.t) ->
('get -> unit -> 'return Lwt.t) ->
('get, unit, [< Eliom_service.service_method > `Get ],
[< Eliom_service.attached > `Attached ],
[< Eliom_service.service_kind > `Service ], 'a, 'gn, unit,
[< Eliom_service.registrable > `Registrable ],
'return Eliom_service.ocaml_service)
Eliom_service.service
val register_coservice : ?scope:[< Eliom_common.scope ] ->
?options:unit ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Http_headers.t ->
?secure_session:bool ->
?name:string ->
?csrf_safe:bool ->
?csrf_scope:[< Eliom_common.user_scope ] ->
?csrf_secure:bool ->
?max_use:int ->
?timeout:float ->
?https:bool ->
fallback:(unit, unit, [ `Get ], Eliom_service.attached_kind, [ `Service ],
[ `WithoutSuffix ], unit, unit, [< Eliom_service.registrable ],
'return Eliom_service.ocaml_service)
Eliom_service.service ->
get_params:('get, [ `WithoutSuffix ], 'gn) Eliom_parameter.params_type ->
?error_handler:((string * exn) list -> 'return Lwt.t) ->
('get -> unit -> 'return Lwt.t) ->
('get, unit, [< Eliom_service.service_method > `Get ],
[< Eliom_service.attached > `Attached ],
[< Eliom_service.service_kind > `AttachedCoservice ], [ `WithoutSuffix ],
'gn, unit, [< Eliom_service.registrable > `Registrable ],
'return Eliom_service.ocaml_service)
Eliom_service.service
val register_coservice' : ?scope:[< Eliom_common.scope ] ->
?options:unit ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Http_headers.t ->
?secure_session:bool ->
?name:string ->
?csrf_safe:bool ->
?csrf_scope:[< Eliom_common.user_scope ] ->
?csrf_secure:bool ->
?max_use:int ->
?timeout:float ->
?https:bool ->
get_params:('get, [ `WithoutSuffix ], 'gn) Eliom_parameter.params_type ->
?error_handler:((string * exn) list -> 'return Lwt.t) ->
('get -> unit -> 'return Lwt.t) ->
('get, unit, [< Eliom_service.service_method > `Get ],
[< Eliom_service.attached > `Nonattached ],
[< Eliom_service.service_kind > `NonattachedCoservice ], [ `WithoutSuffix ],
'gn, unit, [< Eliom_service.registrable > `Registrable ],
'return Eliom_service.ocaml_service)
Eliom_service.service
val register_post_service : ?scope:[< Eliom_common.scope ] ->
?options:unit ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Http_headers.t ->
?secure_session:bool ->
?https:bool ->
?priority:int ->
fallback:('get, unit, [ `Get ], Eliom_service.attached_kind,
[ `AttachedCoservice | `Service ], [< Eliom_service.suff ] as 'a,
'gn, unit, [< `Registrable ], 'return Eliom_service.ocaml_service)
Eliom_service.service ->
post_params:('post, [ `WithoutSuffix ], 'pn) Eliom_parameter.params_type ->
?error_handler:((string * exn) list -> 'return Lwt.t) ->
('get -> 'post -> 'return Lwt.t) ->
('get, 'post, [< Eliom_service.service_method > `Post ],
[< Eliom_service.attached > `Attached ], [ `AttachedCoservice | `Service ],
'a, 'gn, 'pn, [< Eliom_service.registrable > `Registrable ],
'return Eliom_service.ocaml_service)
Eliom_service.service
val register_post_coservice : ?scope:[< Eliom_common.scope ] ->
?options:unit ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Http_headers.t ->
?secure_session:bool ->
?name:string ->
?csrf_safe:bool ->
?csrf_scope:[< Eliom_common.user_scope ] ->
?csrf_secure:bool ->
?max_use:int ->
?timeout:float ->
?https:bool ->
fallback:('get, unit, [< `Get ], [< Eliom_service.attached_kind ],
[< `AttachedCoservice | `Service ], [< Eliom_service.suff ] as 'a,
'gn, unit, [< `Registrable ], 'return Eliom_service.ocaml_service)
Eliom_service.service ->
post_params:('post, [ `WithoutSuffix ], 'pn) Eliom_parameter.params_type ->
?error_handler:((string * exn) list -> 'return Lwt.t) ->
('get -> 'post -> 'return Lwt.t) ->
('get, 'post, [< Eliom_service.service_method > `Post ],
[< Eliom_service.attached > `Attached ],
[< Eliom_service.service_kind > `AttachedCoservice ], 'a, 'gn, 'pn,
[< Eliom_service.registrable > `Registrable ],
'return Eliom_service.ocaml_service)
Eliom_service.service
val register_post_coservice' : ?scope:[< Eliom_common.scope ] ->
?options:unit ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Http_headers.t ->
?secure_session:bool ->
?name:string ->
?csrf_safe:bool ->
?csrf_scope:[< Eliom_common.user_scope ] ->
?csrf_secure:bool ->
?max_use:int ->
?timeout:float ->
?keep_get_na_params:bool ->
?https:bool ->
post_params:('post, [ `WithoutSuffix ], 'pn) Eliom_parameter.params_type ->
?error_handler:((string * exn) list -> 'return Lwt.t) ->
(unit -> 'post -> 'return Lwt.t) ->
(unit, 'post, [< Eliom_service.service_method > `Post ],
[< Eliom_service.attached > `Nonattached ],
[< Eliom_service.service_kind > `NonattachedCoservice ], [ `WithoutSuffix ],
unit, 'pn, [< Eliom_service.registrable > `Registrable ],
'return Eliom_service.ocaml_service)
Eliom_service.service
val register_put_service : ?scope:[< Eliom_common.scope ] ->
?options:unit ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Http_headers.t ->
?secure_session:bool ->
?https:bool ->
?priority:int ->
path:Eliom_lib.Url.path ->
get_params:('get, [< Eliom_service.suff ] as 'a, 'gn)
Eliom_parameter.params_type ->
?error_handler:((string * exn) list -> 'return Lwt.t) ->
('get -> Eliom_parameter.raw_post_data -> 'return Lwt.t) ->
('get, Eliom_parameter.raw_post_data,
[< Eliom_service.service_method > `Put ],
[< Eliom_service.attached > `Attached ],
[< Eliom_service.service_kind > `Service ], 'a, 'gn,
Eliom_parameter.no_param_name,
[< Eliom_service.registrable > `Registrable ],
'return Eliom_service.ocaml_service)
Eliom_service.service
val register_put_coservice : ?scope:[< Eliom_common.scope ] ->
?options:unit ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Http_headers.t ->
?secure_session:bool ->
?name:string ->
?csrf_safe:bool ->
?csrf_scope:[< Eliom_common.user_scope ] ->
?csrf_secure:bool ->
?max_use:int ->
?timeout:float ->
?https:bool ->
fallback:(unit, Eliom_parameter.raw_post_data, [ `Put ],
Eliom_service.attached_kind, [ `Service ], [ `WithoutSuffix ],
unit, Eliom_parameter.no_param_name,
[< Eliom_service.registrable ],
'return Eliom_service.ocaml_service)
Eliom_service.service ->
get_params:('get, [ `WithoutSuffix ], 'gn) Eliom_parameter.params_type ->
?error_handler:((string * exn) list -> 'return Lwt.t) ->
('get -> Eliom_parameter.raw_post_data -> 'return Lwt.t) ->
('get, Eliom_parameter.raw_post_data,
[< Eliom_service.service_method > `Put ],
[< Eliom_service.attached > `Attached ],
[< Eliom_service.service_kind > `AttachedCoservice ], [ `WithoutSuffix ],
'gn, Eliom_parameter.no_param_name,
[< Eliom_service.registrable > `Registrable ],
'return Eliom_service.ocaml_service)
Eliom_service.service
val register_put_coservice' : ?scope:[< Eliom_common.scope ] ->
?options:unit ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Http_headers.t ->
?secure_session:bool ->
?name:string ->
?csrf_safe:bool ->
?csrf_scope:[< Eliom_common.user_scope ] ->
?csrf_secure:bool ->
?max_use:int ->
?timeout:float ->
?https:bool ->
get_params:('get, [ `WithoutSuffix ], 'gn) Eliom_parameter.params_type ->
?error_handler:((string * exn) list -> 'return Lwt.t) ->
('get -> Eliom_parameter.raw_post_data -> 'return Lwt.t) ->
('get, Eliom_parameter.raw_post_data,
[< Eliom_service.service_method > `Put ],
[< Eliom_service.attached > `Nonattached ],
[< Eliom_service.service_kind > `NonattachedCoservice ], [ `WithoutSuffix ],
'gn, Eliom_parameter.no_param_name,
[< Eliom_service.registrable > `Registrable ],
'return Eliom_service.ocaml_service)
Eliom_service.service
val register_delete_service : ?scope:[< Eliom_common.scope ] ->
?options:unit ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Http_headers.t ->
?secure_session:bool ->
?https:bool ->
?priority:int ->
path:Eliom_lib.Url.path ->
get_params:('get, [< Eliom_service.suff ] as 'a, 'gn)
Eliom_parameter.params_type ->
?error_handler:((string * exn) list -> 'return Lwt.t) ->
('get -> Eliom_parameter.raw_post_data -> 'return Lwt.t) ->
('get, Eliom_parameter.raw_post_data,
[< Eliom_service.service_method > `Delete ],
[< Eliom_service.attached > `Attached ],
[< Eliom_service.service_kind > `Service ], 'a, 'gn,
Eliom_parameter.no_param_name,
[< Eliom_service.registrable > `Registrable ],
'return Eliom_service.ocaml_service)
Eliom_service.service
val register_delete_coservice : ?scope:[< Eliom_common.scope ] ->
?options:unit ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Http_headers.t ->
?secure_session:bool ->
?name:string ->
?csrf_safe:bool ->
?csrf_scope:[< Eliom_common.user_scope ] ->
?csrf_secure:bool ->
?max_use:int ->
?timeout:float ->
?https:bool ->
fallback:(unit, Eliom_parameter.raw_post_data, [ `Delete ],
Eliom_service.attached_kind, [ `Service ], [ `WithoutSuffix ],
unit, Eliom_parameter.no_param_name,
[< Eliom_service.registrable ],
'return Eliom_service.ocaml_service)
Eliom_service.service ->
get_params:('get, [ `WithoutSuffix ], 'gn) Eliom_parameter.params_type ->
?error_handler:((string * exn) list -> 'return Lwt.t) ->
('get -> Eliom_parameter.raw_post_data -> 'return Lwt.t) ->
('get, Eliom_parameter.raw_post_data,
[< Eliom_service.service_method > `Delete ],
[< Eliom_service.attached > `Attached ],
[< Eliom_service.service_kind > `AttachedCoservice ], [ `WithoutSuffix ],
'gn, Eliom_parameter.no_param_name,
[< Eliom_service.registrable > `Registrable ],
'return Eliom_service.ocaml_service)
Eliom_service.service
val register_delete_coservice' : ?scope:[< Eliom_common.scope ] ->
?options:unit ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Http_headers.t ->
?secure_session:bool ->
?name:string ->
?csrf_safe:bool ->
?csrf_scope:[< Eliom_common.user_scope ] ->
?csrf_secure:bool ->
?max_use:int ->
?timeout:float ->
?https:bool ->
get_params:('get, [ `WithoutSuffix ], 'gn) Eliom_parameter.params_type ->
?error_handler:((string * exn) list -> 'return Lwt.t) ->
('get -> Eliom_parameter.raw_post_data -> 'return Lwt.t) ->
('get, Eliom_parameter.raw_post_data,
[< Eliom_service.service_method > `Delete ],
[< Eliom_service.attached > `Nonattached ],
[< Eliom_service.service_kind > `NonattachedCoservice ], [ `WithoutSuffix ],
'gn, Eliom_parameter.no_param_name,
[< Eliom_service.registrable > `Registrable ],
'return Eliom_service.ocaml_service)
Eliom_service.service
val send : ?options:unit ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Http_headers.t ->
'return ->
'return Eliom_registration.ocaml_content Eliom_registration.kind Lwt.t
send page
build the HTTP frame corresponding to
page
. This may be used for example in an service handler
registered with Eliom_registration.Any.register
or when building a
custom output module.