send method
Sends request
and parses the response.
Implementation
@override
Future<Response> send(Request request) async {
final pathSegments = <String>[
..._uri.pathSegments,
...request.pathSegments,
];
final newUri = _uri.replace(
pathSegments: pathSegments, queryParameters: request.params);
final rq = http.Request(request.method, newUri);
if (_authorization != null) {
rq.headers['Authorization'] = _authorization!;
}
if (request.headers != null) {
rq.headers.addAll(request.headers!);
}
if (request.bodyText != null) {
rq.body = request.bodyText!;
}
final rs = await _httpClient.send(rq).timeout(_timeout);
final warning = rs.headers['warning'];
return Response(rs.statusCode, await rs.stream.bytesToString(),
warning: warning);
}