package eliom
Install
Dune Dependency
Authors
Maintainers
Sources
md5=a989128ffd2ffd4a74b17233cd0a4b46
sha512=ee76f43609fc33aad96758e9a9698ec517aa92eaaf4575e3e4b43aaa34b3659f0403370d1c8a20c605465802375cbdf7f98a0d086cb3c73e86d19115064f7f15
doc/eliom.server/Eliom_registration/File/index.html
Module Eliom_registration.File
Source
Eliom service registration for services that returns file contents. The value returned by service handlers is the name of the file to send. See the Eliom manual for more information on
<<a_manual chapter="server-outputs" fragment="eliomfiles"|how to
send files with Eliom>>
. The option is the optional "Cache-policy: max-age" header value to be sent.
The function check_file file
is true if File.send file
would effectively return the file (i.e. the file is present and readable)
include Eliom_registration_sigs.S_with_create
with type page = string
and type options = int
and type return = Eliom_service.non_ocaml
and type result = browser_content kind
include Eliom_registration_sigs.S
with type page = string
with type options = int
with type return = Eliom_service.non_ocaml
with type result = browser_content kind
Service registration
val register :
?app:string ->
?scope:[< Eliom_common.scope ] ->
?options:options ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Cohttp.Header.t ->
?secure_session:bool ->
service:
('get,
'post,
_,
_,
_,
Eliom_service.non_ext,
Eliom_service.reg,
_,
_,
_,
return)
Eliom_service.t ->
?error_handler:((string * exn) list -> page Lwt.t) ->
('get -> 'post -> page Lwt.t) ->
unit
The function register ~service handler
associates the service
to the function handler
. The handler
function takes two parameters, the GET and POST parameters of the current HTTP request, and should return the corresponding page.
The optional parameter ~scope
is Eliom_common.global_scope
by default. See the Eliom manual for detailed description
<<a_manual chapter="server-services" fragment="scope"|of
different scopes>>
.
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 registered in the non-secure 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 non-secure (resp. secure) session. See the Eliom manual for an introduction to <<a_manual
chapter="server-state"|secure state>>
.
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 send :
?options:options ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Cohttp.Header.t ->
page ->
result Lwt.t
The function send page
builds the HTTP frame corresponding to page
. This may be used for example in a service handler registered with Eliom_registration.Any.register
, or when building a custom output module.
val create :
?app:string ->
?scope:[< Eliom_common.scope ] ->
?options:options ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Cohttp.Header.t ->
?secure_session:bool ->
?https:bool ->
?name:string ->
?csrf_safe:bool ->
?csrf_scope:[< Eliom_common.user_scope ] ->
?csrf_secure:bool ->
?max_use:int ->
?timeout:float ->
meth:('m, 'gp, 'gn, 'pp, 'pn, 'tipo, 'gp_) Eliom_service.meth ->
path:('att, 'co, 'gp_) Eliom_service.path_option ->
?error_handler:((string * exn) list -> page Lwt.t) ->
('gp -> 'pp -> page Lwt.t) ->
('gp,
'pp,
'm,
'att,
'co,
Eliom_service.non_ext,
Eliom_service.reg,
'tipo,
'gn,
'pn,
return)
Eliom_service.t
Create a service and register it at the same time. It calls Eliom_service.create
and then performs Eliom_registration_sigs.S.register
. Returns the service.
val create_attached_get :
?app:string ->
?scope:[< Eliom_common.scope ] ->
?options:options ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Cohttp.Header.t ->
?secure_session:bool ->
?https:bool ->
?name:string ->
?csrf_safe:bool ->
?csrf_scope:[< Eliom_common.user_scope ] ->
?csrf_secure:bool ->
?max_use:int ->
?timeout:float ->
fallback:
(unit,
unit,
Eliom_service.get,
Eliom_service.att,
Eliom_service.non_co,
Eliom_service.non_ext,
_,
[ `WithoutSuffix ],
unit,
unit,
return)
Eliom_service.t ->
get_params:('gp, [ `WithoutSuffix ], 'gn) Eliom_parameter.params_type ->
?error_handler:((string * exn) list -> page Lwt.t) ->
('gp -> unit -> page Lwt.t) ->
('gp,
unit,
Eliom_service.get,
Eliom_service.att,
Eliom_service.co,
Eliom_service.non_ext,
Eliom_service.reg,
[ `WithoutSuffix ],
'gn,
unit,
return)
Eliom_service.t
Create an attached service and register it at the same time. It calls Eliom_service.create_attached_get
and then performs Eliom_registration_sigs.S.register
. Returns the new service.
val create_attached_post :
?app:string ->
?scope:[< Eliom_common.scope ] ->
?options:options ->
?charset:string ->
?code:int ->
?content_type:string ->
?headers:Cohttp.Header.t ->
?secure_session:bool ->
?https:bool ->
?name:string ->
?csrf_safe:bool ->
?csrf_scope:[< Eliom_common.user_scope ] ->
?csrf_secure:bool ->
?max_use:int ->
?timeout:float ->
fallback:
('gp,
unit,
Eliom_service.get,
Eliom_service.att,
Eliom_service.non_co,
Eliom_service.non_ext,
_,
[ `WithoutSuffix ],
'gn,
unit,
return)
Eliom_service.t ->
post_params:('pp, [ `WithoutSuffix ], 'pn) Eliom_parameter.params_type ->
?error_handler:((string * exn) list -> page Lwt.t) ->
('gp -> 'pp -> page Lwt.t) ->
('gp,
'pp,
Eliom_service.post,
Eliom_service.att,
Eliom_service.co,
Eliom_service.non_ext,
Eliom_service.reg,
[ `WithoutSuffix ],
'gn,
'pn,
return)
Eliom_service.t
Create an attached POST service and register it at the same time. It calls Eliom_service.create_attached_post
and then performs Eliom_registration_sigs.S.register
. Returns the new service.