Provided by: erlang-manpages_16.b.3-dfsg-1ubuntu2.2_all bug

NAME

       mod_esi - Erlang Server Interface

DESCRIPTION

       This  module  defines the Erlang Server Interface (ESI) API. It is a more efficient way of
       writing erlang scripts for your Inets web server than writing them as common CGI scripts.

EXPORTS

       deliver(SessionID, Data) -> ok | {error, Reason}

              Types:

                 SessionID = term()
                 Data = string() | io_list() | binary()
                 Reason = term()

              This function is only intended to be used from functions called by the  Erl  Scheme
              interface to deliver parts of the content to the user.

              Sends data from a Erl Scheme script back to the client.

          Note:
              Note  that  if any HTTP-header fields should be added by the script they must be in
              the first call to deliver/2 and the data in the call must be a string. Calls  after
              the headers are complete may contain binary data to reduce copying overhead. Do not
              assume anything about the data type of SessionID, the SessionID must be  the  value
              given as input to the esi call back function that you implemented.

ESI CALLBACK FUNCTIONS

EXPORTS

       Module:Function(SessionID, Env, Input)-> _

              Types:

                 SessionID = term()
                 Env = [EnvironmentDirectives] ++ ParsedHeader
                 EnvironmentDirectives = {Key,Value}
                 Key  =  query_string  |  content_length  | server_software | gateway_interface |
                 server_protocol | server_port | request_method | remote_addr | script_name
                 Input = string()

              The Module must be found in the code path and export  Function  with  an  arity  of
              three.  An erlScriptAlias must also be set up in the configuration file for the Web
              server.

              If the HTTP request is a 'post' request and a body is sent then content_length will
              be  the  length  of the posted data. If 'get' is used query_string will be the data
              after ? in the url.

              ParsedHeader is the HTTP request as a key value tuple  list.  The  keys  in  parsed
              header will be the in lower case.

              SessionID  is  a identifier the server uses when deliver/2 is called; do not assume
              anything about the datatype.

              Use this callback function to dynamically generate dynamic web content. When a part
              of  the  page is generated send the data back to the client through deliver/2. Note
              that the first chunk of data sent to the client must  at  least  contain  all  HTTP
              header  fields that the response will generate. If the first chunk does not contain
              the End of HTTP header, that is "\r\n\r\n", the server will  assume  that  no  HTTP
              header fields will be generated.

       Module:Function(Env, Input)-> Response

              Types:

                 Env = [EnvironmentDirectives] ++ ParsedHeader
                 EnvironmentDirectives = {Key,Value}
                 Key  =  query_string  |  content_length  | server_software | gateway_interface |
                 server_protocol | server_port | request_method | remote_addr | script_name.
                 Input = string()
                 Response = string()

              This callback format consumes a lot of memory since  the  whole  response  must  be
              generated  before it is sent to the user. This function is deprecated and only kept
              for backwards compatibility. For new development Module:Function/3 should be used.