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

Module Eliom_client

module Eliom_client : sig..end

val is_client_app : unit -> bool

Returns whether the application is sent by a server or started on client side. If called on server side, always returns false. Otherwise, it tests the presence of JS variables added automatically by Eliom when the page is sent by a server. Example:

if not (Eliom_client.is_client_app ())
 then Eliom_client.init_client_app ...

RPC / Server functions

See the manual .

type ('a, 'b) server_function

A value of type ('a, 'b) server_function is created on the server from a function 'a -> 'b Lwt.t and provides a given function on the client side. See also the concrete client side representation .

val server_function : 
  ?scope:[< Eliom_common.scope ] ->
  ?options:unit ->
  ?charset:string ->
  ?code:int ->
  ?content_type:string ->
  ?headers:Ocsigen_header.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 ->
  ?error_handler:((string * exn) list -> 'b Lwt.t) ->
  'a Deriving_Json.t ->
  ('a -> 'b Lwt.t) -> ('a, 'b) server_function

server_function argument_type f creates a value of type Eliom_client.server_function . This allows to call f from the client. The first argument argument_type is an instance of Deriving_Json for the type of the argument. It is used to safely encode and decode the argument sent to the server.

The optional parameters correspond directly to the optional parameters of Eliom_registration.Ocaml.register_coservice' .

See also the manual .