Future<StreamedResponse> send()

Sends this request.

This automatically initializes a new Client and closes that client once the request is complete. If you're planning on making multiple requests to the same server, you should use a single Client for all of those requests.

Source

Future<StreamedResponse> send() async {
  Client client = new Client();

  try {
    StreamedResponse response = await client.send(this);
    Stream<dynamic> stream = onDone(response.stream, client.close);
    return new StreamedResponse(
        new ByteStream(stream),
        response.statusCode,
        contentLength: response.contentLength,
        request: response.request,
        headers: response.headers,
        isRedirect: response.isRedirect,
        persistentConnection: response.persistentConnection,
        reasonPhrase: response.reasonPhrase);
  } catch (ex) {
    client.close();
    rethrow;
  }
}