Response objects can contain the following properties:
statusCode
headers
stream
chunk
html
json
form
These should be own-properties of the object.
Head
statusCode
Defaults to 200 if not set. Otherwise must be a finite number.
headers
Optional object containing the headers to be written to the outgoing message.
Each own-property is considered as a header. Header names must not
case-insensitively equal other names on the same object, nor can they be the
empty string.
Values can be strings, finite numbers, and booleans. They'll be cast to strings
if necessary. Values may be arrays, in which case each item will still need to
be a string, finite number, or boolean. Again they'll be cast to strings if
necessary. Array values are not allowed to include other arrays.
The headers object can only be sent once. If the same object is included in
multiple responses an error will be thrown.
Body
The response body is determined by stream, chunk, html, json or form.
Only one of these properties can be present.
No body is allowed for HEAD requests, and responses with status codes 204,
304 and any code in the 1xx range. An error will be thrown if a body is
returned regardless.
stream
Should contain an object with a pipe() method, to pipe data to the outgoing
message.
chunk
Should contain a Buffer containing the bytes to be written.
html
Should contain either a string, or an array containing strings or Buffers. The
data is written using utf8 encoding.
If no content-type header is set, the type configured in the stack will be
used.
json
Should contain a value that can be serialized as JSON. Note that undefined
values cause an error to be thrown, but other values which might not serialize
will not.
The serialization implementation can be configured in the stack.
If no content-type header is set, the type configured in the stack will be
used.
form
Should contain a value that can be serialized as a URL-encoded string. Note that
non-object values cause an error to be thrown.
The default serialization implementation, as configured in the stack, only
serializes own-properties. Empty property names cause an error to be thrown.
Values can be strings, finite numbers, and booleans.
If no content-type header is set, the type configured in the stack will be
used.
Responses
Response objects can contain the following properties:
statusCodeheadersstreamchunkhtmljsonformThese should be own-properties of the object.
Head
statusCodeDefaults to
200if not set. Otherwise must be a finite number.headersOptional object containing the headers to be written to the outgoing message. Each own-property is considered as a header. Header names must not case-insensitively equal other names on the same object, nor can they be the empty string.
Values can be strings, finite numbers, and booleans. They'll be cast to strings if necessary. Values may be arrays, in which case each item will still need to be a string, finite number, or boolean. Again they'll be cast to strings if necessary. Array values are not allowed to include other arrays.
The
headersobject can only be sent once. If the same object is included in multiple responses an error will be thrown.Body
The response body is determined by
stream,chunk,html,jsonorform. Only one of these properties can be present.No body is allowed for
HEADrequests, and responses with status codes204,304and any code in the1xxrange. An error will be thrown if a body is returned regardless.streamShould contain an object with a
pipe()method, to pipe data to the outgoing message.chunkShould contain a
Buffercontaining the bytes to be written.htmlShould contain either a string, or an array containing strings or
Buffers. The data is written usingutf8encoding.If no
content-typeheader is set, the type configured in the stack will be used.jsonShould contain a value that can be serialized as JSON. Note that
undefinedvalues cause an error to be thrown, but other values which might not serialize will not.The serialization implementation can be configured in the stack.
If no
content-typeheader is set, the type configured in the stack will be used.formShould contain a value that can be serialized as a URL-encoded string. Note that non-object values cause an error to be thrown.
The default serialization implementation, as configured in the stack, only serializes own-properties. Empty property names cause an error to be thrown. Values can be strings, finite numbers, and booleans.
If no
content-typeheader is set, the type configured in the stack will be used.