toHttpRequest method
BaseRequest
toHttpRequest(
- String? baseUrl
)
Implementation
http.BaseRequest toHttpRequest(String? baseUrl) {
var pathUrl = Uri.tryParse(url);
if (pathUrl?.scheme.isEmpty ?? true) {
pathUrl = Uri.parse("$baseUrl/${url}");
}
var cleanedParams = parameters;
parameters.keys
.where((key) => parameters[key] == null)
.toList()
.forEach(cleanedParams.remove);
final uri = pathUrl!.replace(
queryParameters: cleanedParams.map((k, v) => new MapEntry(k, "$v")));
final baseRequest = new http.Request(_getMethod(method), uri);
baseRequest.headers.addAll(headers as Map<String, String>);
if (body != null) {
if (body is String) {
baseRequest.body = body as String;
} else if (body is List) {
baseRequest.bodyBytes = (body as List<int>).cast<int>();
} else if (body is Map) {
baseRequest.bodyFields = (body as Map).cast<String, String>();
} else {
throw new ArgumentError('Invalid request body "${body}".');
}
}
return baseRequest;
}