Response constructor

Response(int statusCode, { dynamic body, Map<String, String> headers, Encoding encoding, Map<String, Object> context })

Constructs an HTTP response with the given statusCode.

statusCode must be greater than or equal to 100.

body is the response body. It may be either a String, a List<int>, a Stream<List<int>>, or null to indicate no body.

If the body is a String, encoding is used to encode it to a Stream<List<int>>. It defaults to UTF-8. If it's a String, a List<int>, or null, the Content-Length header is set automatically unless a Transfer-Encoding header is set. Otherwise, it's a Stream<List<int>> and no Transfer-Encoding header is set, the adapter will set the Transfer-Encoding header to "chunked" and apply the chunked encoding to the body.

If encoding is passed, the "encoding" field of the Content-Type header in headers will be set appropriately. If there is no existing Content-Type header, it will be set to "application/octet-stream".

Implementation

Response(this.statusCode,
    {body,
    Map<String, String> headers,
    Encoding encoding,
    Map<String, Object> context})
    : super(body, encoding: encoding, headers: headers, context: context) {
  if (statusCode < 100) {
    throw ArgumentError("Invalid status code: $statusCode.");
  }
}