class Standard . HTTPfastReceive {
int32 acceptID;
string bufferedData;
string defaultHost;
oid defaultURLdir;
int32 doingSend;
set extraFeatureHeaders;
string fromAddr;
array header;
oid ioObj;
int32 isHTTP10;
string keepAlive;
int32 lineCount;
any logServiceName;
assoc options;
string protoVersion;
int32 reqTime;
int32 tolerateBadHTTP11;
oid urlDir;
assoc validRequests;
} inherits from Object;
The class HTTPfastReceive handles I/O on an HTTP 1.1 (or 1.0) session. Objects of class HTTPfastReceive are normally created as needed by the HTTPdaemon object associated with a primary web site.
HTTPfastReceive:create(oid newSocket, oid urlDirectory, string virtHost, optional int32 acceptCount)
The object Id of an IOobject representing a newly accepted HTTP connection is passed as the argument newSocket. The object Id of the URLdirectory object associated with the default web site is passed as urlDirectory. It is used by HTTP/1.0-based connections that do not provide a Host: directive or if the specified Host: value is unknown. A unique Id, acceptID, can be provided to identify the session. It is not used directly.
HTTPfastReceive:returnError(int32 errCode, string reasonPhrase, string explain, optional int32 forceClose)
An error response to an HTTP request is returned by the returnError method. If a custom error page is defined for the associated site (see URLdirectory:getErrorPageSource), it is used as a template.
HTTPfastReceive:sendResult(int32 errCode, string reasonPhrase, any headerData, any data)
A non-error response to an HTTP request is returned via the sendResult method. While errors can be returned using sendResult, the returnError method should be used instead in order to enable custom error pages. The HTTP response code is specified as errCode. A text description associated with the result code is specified as reasonPhrase. For example, successful HTTP responses are indicated with errCode set to 200 and reasonPhrase set to the string "OK".
Any headers associated with response are specified as headerData. This can either be a string or a set of strings. A "Date:" and "Connection:" header are always generated by the HTTPfastReceive object and should never be provided in the headerData argument. Additional feature headers are obtained automatically from the URLdirectory object via its getFeatureHeaders method.
The body of the entity to be returned, if any, is specified as data. This can either be a string, a set of strings or an oid of an IOobject. If an oid is provided, it is passed to a SendFile object, which will perform the I/O transfer.
This method does not return a value.