Github

Download version 1.4.8: Windows or Linux

Network Library: HTTP Servlet Services

An implementation of the Fast-CGI protocol for creating single and multi-threaded HTTP servlet services.

ECF: servlet.ecf

Directory: library/network/servlet

[ . ]

. /experimental

. /fast-cgi

. /fast-cgi/record

. /service

. /support

[ . ]

EL_OK_SERVLET

Servlet that returns OK as a response.

EL_TEST_SERVLET

experimental

EL_DIVERGENT_HTTP_SERVLET

Experimental servlet with service procedure that distributes requests to procedures in service_procedures_table according to the request path base name, i.e. the last directory step: request.dir_path.base

Works best if the web server URL matching rule is a regular expression.

EL_SERVLET_SESSION

fast-cgi

FCGI_MEMORY_READER_WRITER

Memory reader/writer that can read Name-Value pair length encoded according to the Fast-CGI specification.

See: https://fast-cgi.github.io/spec#34-name-value-pairs

FCGI_REQUEST

Object that reads and writes Fast-CGI messages from the web server

FCGI_REQUEST_PARAMETERS

HTTP parameters passed throught Fast CGI connection

Further Information

Click on class link to see notes.

FCGI_CONSTANTS

FCGI_HTTP_SERVLET

fast-cgi/record

FCGI_BEGIN_REQUEST_RECORD

The Web server sends a FCGI_BEGIN_REQUEST record to start a request. The contentData component of a FCGI_BEGIN_REQUEST record has the form:

typedef struct {
   unsigned char roleB1;
   unsigned char roleB0;
   unsigned char flags;
   unsigned char reserved[5];
} FCGI_BeginRequestBody;

See: https://fast-cgi.github.io/spec#51-fcgi_begin_request

FCGI_END_REQUEST_RECORD

The application sends a FCGI_END_REQUEST record to terminate a request, either because the application has processed the request or because the application has rejected the request.

The contentData component of a FCGI_END_REQUEST record has the form:

typedef struct {
   unsigned char appStatusB3;
   unsigned char appStatusB2;
   unsigned char appStatusB1;
   unsigned char appStatusB0;
   unsigned char protocolStatus;
   unsigned char reserved[3];
} FCGI_EndRequestBody;

FCGI_HEADER_RECORD

A FastCGI record consists of a fixed-length prefix followed by a variable number of content and padding bytes. See: https://fast-cgi.github.io/spec#33-records

typedef struct {
   unsigned char version;
   unsigned char type;
   unsigned char requestIdB1;
   unsigned char requestIdB0;
   unsigned char contentLengthB1;
   unsigned char contentLengthB0;
   unsigned char paddingLength;
   unsigned char reserved;
   unsigned char contentData[contentLength];
   unsigned char paddingData[paddingLength];
} FCGI_Record;

FCGI_PARAMETER_RECORD

FCGI_PARAMS is a stream record type used in sending name-value pairs from the Web server to the application. The name-value pairs are sent down the stream one after the other, in no specified order.

See: https://fast-cgi.github.io/spec#52-name-value-pair-streams-fcgi_params

FCGI_RECORD

Base class for reading and writing a Fast-CGI record

FCGI_STRING_CONTENT_RECORD

FCGI_STDIN is a stream record type used in sending arbitrary data from the Web server to the application. FCGI_DATA is a second stream record type used to send additional data to the application.

FCGI_STDOUT and FCGI_STDERR are stream record types for sending arbitrary data and error data respectively from the application to the Web server.

See: https://fast-cgi.github.io/spec#53-byte-streams-fcgi_stdin-fcgi_data-fcgi_stdout-fcgi_stderr

FCGI_END_SERVICE_RECORD

service

FCGI_SEPARATE_SERVLET_SERVICE

A FCGI_SERVLET_SERVICE service operating in a separate thread.

FCGI_SERVLET_SERVICE

Fast-CGI service on a port_number that services HTTP requests forwarded by a web server from a table of servlets. The servlets are mapped to uri paths that are relative to the service path defined in the web server configuration. For example:

/servlet/one
/servlet/two
/servlet/three

The service path is "/servet" and the relative paths are "one", "two" and "three"

The servlet service is configured by a file in Pyxis format.

EL_SERVLET_SERVICE_CONFIG

FCGI_SERVICE_SUB_APPLICATION

FCGI_SERVLET_REQUEST

FCGI_SERVLET_RESPONSE

support

EL_HTTP_COOKIE

HTTP cookie

EL_HTTP_STATUS_CODES

HTTP status codes. See: https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

EL_MODULE_HTTP_STATUS

Access to a shared instance of EL_HTTP_STATUS_CODES

EL_BUILDABLE_PASS_PHRASE

EL_HTML_CONTENT_TYPE

EL_HTTP_CONTENT_TYPE

EL_HTTP_CONTENT_TYPE_CONSTANTS