package eliom
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=36c211d19776e6362feb57a4913efc11
sha512=9d8d3aadbd2174fe4edeba9e535cfa8ed974db5e406f0a6e2669a71e208f459da7ca8060628f3f19957b7b1911083a373653abf7e5385bb16d2ccee4ba49e80a
doc/eliom.server/Eliom_registration/File_ct/index.html
Module Eliom_registration.File_ctSource
Same as file but makes possible to specify the content type for each file. The value returned by service handlers is a pair (file_name, content_type).
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 * 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 * 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) ->
unitThe 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.tThe 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.tCreate 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.tCreate 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.tCreate 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.