sendUnstreamed method
Sends a non-streaming Request
and returns a non-streaming Response
.
Implementation
Future<Response> sendUnstreamed(
String method,
url,
Map<String, String>? headers, [
body,
Encoding? encoding,
]) async {
var request = Request(method, url is Uri ? url : Uri.parse(url.toString()));
if (headers != null) request.headers.addAll(headers);
if (encoding != null) request.encoding = encoding;
if (body != null) {
if (body is String) {
request.body = body;
} else if (body is List<int>) {
request.bodyBytes = List<int>.from(body);
} else if (body is Map<String, dynamic>) {
request.bodyFields = body.map(
(k, v) => MapEntry(k, v is String ? v : v.toString()),
);
} else {
_log.severe('Body is not a String, List<int>, or Map<String, String>');
throw ArgumentError.value(
body,
'body',
'must be a String, List<int>, or Map<String, String>.',
);
}
}
return Response.fromStream(await send(request));
}