The HTTP request object
The request object contains the following fields:
request.conn
The low-level socket used for communicating with the HTTP server. May be nil if the connection has been closed.
request.handler
A slightly higher-level connection object, usually you will want to interact with this rather than conn.
request.write()
A simple function to write data to the request's underlying connection.
request.host
The HTTP server's hostname parsed from the URL passed to http.request().
request.port
The port used to connect to the HTTP server. Automatically parsed from the URL passed to http.request().
request.path
The path to the file to request from the HTTP server, automatically parsed from the URL passed to http.request().
request.query
The query part of the URL passed to http.request(). That is, any part of the URL after the '?' character appears in the path.
request.onlystatus
The caller set options.onlystatus to indicate that they are only interested in the status code of this request.
request.method
The method used by this request. Note! For efficiency the method always has a space after it. eg. "GET " and "POST ". Removing this space will cause requests to be rejected by the HTTP server.
request.callback
The callback for the request, as passed to http.request().
request.reader
An object which receives the raw data from the HTTP server, parses it, and is responsible for calling the callback when the full response is received.
request.state
An internal state variable recording what "mode" the request reader is in.
request.destroyed
A flag set to true if the request has been destroyed. Callbacks will no longer be called for this request. Don't set this flag manually… use http.destroy_request() if you must (it is usually done for you).
request.body
An array of strings, which when joined comprise the total response body received from the server so far.
request.bodylength
The anticipated response body length, when complete. As seen in the Content-Length header. May be nil if the server did not specify a Content-Length.
request.havebodylength
The current length of the received body part of the HTTP response.
request.responseheaders
A table of the headers received in the HTTP response from the server. All keys are lower-cased, eg. request.responseheaders["content-length"].
request.code
The HTTP status code received from the server. A number, not a string.
request.responseversion
The HTTP version given by the server in its response. Usually "1.0" or "1.1". A string, not a number.