This is server API (go to client)

Warning: Reason support is experimental. We are looking for beta-tester and contributors.

Module Eliom_output

module Eliom_output : sig..end

Predefined modules for generating forms and registering handlers, for several types of pages: Applications, HTML pages typed with polymorphic variants, untyped (text) pages, actions, redirections, files ...


type ('a, 'b) kind
type 'a application_content = [ `Appl of 'a ]
type block_content
type browser_content = [ `Browser ]
type 'a caml_content
type unknown_content
type appl_service = [ `Appl ]
type http_service = [ `Http ]
type non_caml_service = [ `Appl | `Http ]
type 'a application_name


Creating links and forms with HTML5.M


module Html5 : sig..end

Eliom service registration and forms creation for HTML5 page

module Html5_registration : sig..end

Forms creation

module Html5_forms : sig..end
module Xhtml : sig..end
module Xhtml_registration : sig..end
module Xhtml_forms : sig..end
module type APPL_PARAMS = sig..end
type appl_service_options = {
  do_not_launch: bool;}
val default_appl_service_options : appl_service_options
module type Eliom_appl = sig..end
module Eliom_appl : functor (Appl_params : APPL_PARAMS) -> 
  Eliom_appl
module Blocks5 : sig..end
module Blocks : sig..end
module Make_TypedXML_Registration : functor (XML : XML_sigs.Iterable) -> 
  functor (TypedXML : XML_sigs.TypedXML     with module XML := XML) ->
  functor (E : sig      type contentend) ->
  sig..end
module HtmlText : sig..end
module CssText : sig..end
module Text : sig..end
module Action : sig..end
module Unit : sig..end
module Redirection : sig..end
module String_redirection : sig..end
module Files : sig..end
module Any : sig..end
val appl_self_redirect : 
  ('a ->
   ([< `Appl of 'b | `Browser ], [< non_caml_service ])
   kind Lwt.t) ->
  'a ->
  ('c application_content, appl_service)
  kind Lwt.t
module Streamlist : sig..end
module Caml : sig..end
module Customize : functor (B : sig      type options      type return      type page      type resultend) -> 
  functor (R : sig      type page = B.page      type options = B.options      type return = B.return      type result = B.result      val send :
        ?options:B.options ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t -> B.page -> B.result Lwt.t
      val register :
        ?scope:[< Eliom_common.scope ] ->
        ?options:B.options ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?secure_session:bool ->
        service:('a, 'b,
         [< Eliom_services.internal_service_kind ],
         [< Eliom_services.suff ], 'c, 'd,
         [ `Registrable ], B.return)
         Eliom_services.service ->
        ?error_handler:((string * exn) list -> B.page Lwt.t) ->
        ('a -> 'b -> B.page Lwt.t) -> unit
      val register_service :
        ?scope:[< Eliom_common.scope ] ->
        ?options:B.options ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?secure_session:bool ->
        ?https:bool ->
        ?priority:int ->
        path:Eliom_pervasives.Url.path ->
        get_params:('a, [< Eliom_services.suff ] as 'b, 'c)
         Eliom_parameters.params_type ->
        ?error_handler:((string * exn) list -> B.page Lwt.t) ->
        ('a -> unit -> B.page Lwt.t) ->
        ('a, unit,
         [> `Attached of
         ([> `Internal of [> `Service ] ], [> `Get ])
         Eliom_services.a_s ],
         'b, 'c, unit, [> `Registrable ], B.return)
        Eliom_services.service
      val register_coservice :
        ?scope:[< Eliom_common.scope ] ->
        ?options:B.options ->
        ?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,
         [ `Attached of
         ([ `Internal of [ `Service ] ], [ `Get ])
         Eliom_services.a_s ],
         [ `WithoutSuffix ], unit, unit,
         [< Eliom_services.registrable ], B.return)
         Eliom_services.service ->
        get_params:('a, [ `WithoutSuffix ], 'b)
         Eliom_parameters.params_type ->
        ?error_handler:((string * exn) list -> B.page Lwt.t) ->
        ('a -> unit -> B.page Lwt.t) ->
        ('a, unit,
         [> `Attached of
         ([> `Internal of [> `Coservice ] ], [> `Get ])
         Eliom_services.a_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ],
         B.return)
        Eliom_services.service
      val register_coservice' :
        ?scope:[< Eliom_common.scope ] ->
        ?options:B.options ->
        ?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:('a, [ `WithoutSuffix ], 'b)
         Eliom_parameters.params_type ->
        ?error_handler:((string * exn) list -> B.page Lwt.t) ->
        ('a -> unit -> B.page Lwt.t) ->
        ('a, unit,
         [> `Nonattached of [> `Get ] Eliom_services.na_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ],
         B.return)
        Eliom_services.service
      val register_post_service :
        ?scope:[< Eliom_common.scope ] ->
        ?options:B.options ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?secure_session:bool ->
        ?https:bool ->
        ?priority:int ->
        fallback:('a, unit,
         [ `Attached of
         ([ `Internal of [ `Coservice | `Service ] ],
         [ `Get ])
         Eliom_services.a_s ],
         [< Eliom_services.suff ] as 'b, 'c, unit,
         [< `Registrable ], 'd)
         Eliom_services.service ->
        post_params:('e, [ `WithoutSuffix ], 'f)
         Eliom_parameters.params_type ->
        ?error_handler:((string * exn) list -> B.page Lwt.t) ->
        ('a -> 'e -> B.page Lwt.t) ->
        ('a, 'e,
         [> `Attached of
         ([> `Internal of [ `Coservice | `Service ] ],
         [> `Post ])
         Eliom_services.a_s ],
         'b, 'c, 'f, [> `Registrable ], B.return)
        Eliom_services.service
      val register_post_coservice :
        ?scope:[< Eliom_common.scope ] ->
        ?options:B.options ->
        ?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:('a, unit,
         [ `Attached of
         ([ `Internal of [< `Coservice | `Service ] ],
         [ `Get ])
         Eliom_services.a_s ],
         [< Eliom_services.suff ] as 'b, 'c, unit,
         [< `Registrable ], B.return)
         Eliom_services.service ->
        post_params:('d, [ `WithoutSuffix ], 'e)
         Eliom_parameters.params_type ->
        ?error_handler:((string * exn) list -> B.page Lwt.t) ->
        ('a -> 'd -> B.page Lwt.t) ->
        ('a, 'd,
         [> `Attached of
         ([> `Internal of [> `Coservice ] ], [> `Post ])
         Eliom_services.a_s ],
         'b, 'c, 'e, [> `Registrable ], B.return)
        Eliom_services.service
      val register_post_coservice' :
        ?scope:[< Eliom_common.scope ] ->
        ?options:B.options ->
        ?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:('a, [ `WithoutSuffix ], 'b)
         Eliom_parameters.params_type ->
        ?error_handler:((string * exn) list -> B.page Lwt.t) ->
        (unit -> 'a -> B.page Lwt.t) ->
        (unit, 'a,
         [> `Nonattached of [> `Post ] Eliom_services.na_s ],
         [ `WithoutSuffix ], unit, 'b, [> `Registrable ],
         B.return)
        Eliom_services.service
end) ->
  functor (T : sig      type page      val translate : page -> B.page Lwt.tend) ->
  sig..end
val set_exn_handler : 
  (exn ->
   (browser_content, http_service)
   kind Lwt.t) ->
  unit
val cast_unknown_content_kind : 
  (unknown_content, http_service)
  kind -> ('a, http_service) kind
val cast_http_result : Ocsigen_http_frame.result -> ('a, 'b) kind