Plasma GitLab Archive
Projects Blog Knowledge

Module Netcgi_scgi


module Netcgi_scgi: sig .. end
SCGI connector.

The SCGI connects your web applications through a TCP/IP socket (thus the application can run on a machine different from the web server).

See the Setup section at the end of this file to know how to configure your web server.


val run : ?config:Netcgi.config ->
?allow:(Unix.sockaddr -> bool) ->
?output_type:Netcgi.output_type ->
?arg_store:Netcgi.arg_store ->
?exn_handler:Netcgi.exn_handler ->
?sockaddr:Unix.sockaddr -> ?port:int -> (Netcgi.cgi -> unit) -> unit
run f executes f cgi for each SCGI request.
config : Default: Netcgi.default_config
allow : Tells whether a connection from the socket is allowed. Default: allow from all.
output_type : Default: `Direct ""
arg_store : Default: `Automatic for all arguments.
exn_handler : See Netcgi.exn_handler. Default: delegate all exceptions to the default handler.
sockaddr : The socket used by the web server to send the requests.
port : The port for listening. Needs to be specified if no sockaddr is passed.
val handle_request : Netcgi.config ->
Netcgi.output_type ->
Netcgi.arg_store ->
Netcgi.exn_handler ->
(Netcgi.cgi -> unit) ->
log:(string -> unit) option -> Unix.file_descr -> Netcgi.connection_directive
handle_request config output_type arg_store eh f ~log fd: This is a lower-level interface that processes exactly one request arriving on the existing connection fd.

log is the error logger function or None, in which case errors are passed through to the FCGI client.

The other arguments are just like for run.

The return value indicates whether the connection can be kept open or must be closed.


Setup

Add to httpd.conf or to, say, scgi.conf in /etc/apache/conf.d

    LoadModule scgi_module /usr/lib/apache/1.3/mod_scgi.so
    # Serve the URL /scgi by contacting 127.0.0.1 on port 8888
    SCGIMount /scgi 127.0.0.1:8888
    

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml