dvSendHttpRequest function
Sends request, walking its protocol chain until one succeeds.
Implementation
Future<DVHttpResponse> dvSendHttpRequest(DVHttpRequest request) async {
if (request.connectAddress == null) {
return DVHttpFallbackClient(dvHttpTransport).send(request);
}
final DVHttpStreamedResponse response =
await pinned.dvPinnedStreamHttpRequest(request);
final BytesBuilder bytes = BytesBuilder(copy: false);
await for (final List<int> chunk in response.body) {
bytes.add(chunk);
}
final Uint8List body = bytes.takeBytes();
return DVHttpResponse(
statusCode: response.statusCode,
body: utf8.decode(body, allowMalformed: true),
bytes: body,
protocol: response.protocol,
);
}