FDCGI(1)

NAME
fdcgi - execute a CGI script implemented in FDScript

SYNOPSIS
fdcgi filename [ query ] This is an FDScript interpreter designed to be invoked as a CGI processor by a web server (typically Apache).

DESCRIPTION
When started, it uses both the execution environment and the standard input to set up a slotmap containing information about a CGI request. It then loads the file filename which can either generate HTML output directly or define a procedure (main) to generate the output. When FramerD is compiled with access to the fastcgi library and the web server uses the fastcgi module, the fdcgi interpreter will handle an indefinite series of requests in the same process, avoiding the overhead of starting a new process for each request. The procedure (CGI-DATA) returns the slotmap describing the current request. The special form (CGI-INIT vars... ) binds each var to the string or list of strings passed under the name var. The special form (CGI-VAR vars... ) does the exact same thing except that the strings strings are passed to the lisp parser (so the string "3" is converted to the number 3) and the lists are converted into choices of these parsed values. For debugging purposes, the optional argument query will be bound to be the QUERY_STRING in an artificial request before processing the file as normal.

OPTIONS

ENVIRONMENT
The following variables are typically bound and accessible on the (CGI-DATA) slotmap as well as through (CGI-INIT) and (CGI-VAR)

SERVER_SOFTWARE
    The type and version of the web server passing on this CGI request

SERVER_NAME
    The name of the server passing on the request

SERVER_PORT
    The port on which the server is listening

SCRIPT_NAME
    The name of the script being run

HTTP_REFERER
    If provided, this is the document from which this script was invoked

HTTP_USER_AGENT
    The kind of program making the request, often the web browser being used by the human requestor

REMOTE_IDENT
    Rarely provided, this is an identifier of the individual making the reauest

REMOTE_HOST
    This is the hostname of the machine from which the request apparently originated.

REMOTE_ADDR
    This is the IP address (dd.dd.dd.dd) of the machine from which the request apparently originated.

PATH_INFO
    This is the part of the URL which occurs after the script name but before any parameters

DOCUMENT_ROOT
    This is the document root

PATH_TRANSLATED
    This is the local file to which this request was translated

AUTH_TYPE
    This describes how the user authenticated her/him/itself.

REMOTE_USER
    This describes who the user authenticated her/him/itself as.

HTTP_COOKIE
    This is the "cookie" passed with this request. The individual components of this cookie are separated out into separate fields in the CGI-DATA slotmap

SERVER_HOST
    This is host on which the server is running. This will differ from SERVER_NAME only if virtual hosts are being used

HTTPS
    This is true if the connection with client is a secure (SSL) connection.

HTTP_ACCEPT

HTTP_ACCEPT_CHARSET

HTTP_ACCEPT_ENCODING

HTTP_ACCEPT_LANGUAGE

REQUEST_METHOD
    This is the request method. Only GET and POST are currently handled

CONTENT_TYPE
    This is the mime time of any data sent with the request

CONTENT_LENGTH
    This is the number of bytes of data sent along with the request

QUERY_STRING
    This is the query string passed with the request. If it provides form variables (common when the REQUEST_METHOD is GET), these variables are each broken out and assigned to the slotmap.

POST_DATA
    This is the actual data sent along with the request. If the mime type is a text type, this is a string; otherwise, it is a packet. If the post data contains form variables (either url-encoded or mime-encoded), these are broken out

PARSED_POST
    When the posted data is a multi-part mime document, this is the parsed document.

BUGS
None known.

Revision Info
$Id: fdcgi.1,v 1.1 2002/05/29 18:38:01 haase Exp $

AUTHOR
Ken Haase < kh@beingmeta.com >

SEE ALSO
fdxml(1) fdservlet(1)