send method

  1. @override
Future<StreamedResponse> send(
  1. BaseRequest request
)

Sends an HTTP request and asynchronously returns the response.

Implementers should call BaseRequest.finalize to get the body of the request as a ByteStream. They shouldn't make any assumptions about the state of the stream; it could have data written to it asynchronously at a later point, or it could already be closed when it's returned. Any internal HTTP errors should be wrapped as ClientExceptions.

Implementation

@override
Future<StreamedResponse> send(BaseRequest request) async {
  if (_valueCookie != null && _valueCookie!.isNotEmpty) {
    request.headers['Cookie'] = _valueCookie!;
  }
  return _inner.send(request).then((response) {
    final cookies = response.headers['set-cookie'] ?? '';
    if (cookies.isNotEmpty) {
      final cookie = cookies.split(';')[0];
      _valueCookie = cookie;
    }
    return response;
  });
}