copyRequest static method

  1. @internal
BaseRequest copyRequest(
  1. BaseRequest request
)

Implementation

@internal
// ignore: public_member_api_docs
static http.BaseRequest copyRequest(http.BaseRequest request) {
  http.BaseRequest newRequest;

  if (request is http.Request) {
    newRequest = http.Request(request.method, request.url)
      ..encoding = request.encoding
      ..bodyBytes = request.bodyBytes;
  } else if (request is http.MultipartRequest) {
    newRequest = http.MultipartRequest(request.method, request.url)
      ..fields.addAll(request.fields)
      ..files.addAll(request.files);
  } else {
    throw Exception('Request type is unsupported, cannot perform a copy');
  }

  newRequest
    ..persistentConnection = request.persistentConnection
    ..followRedirects = request.followRedirects
    ..maxRedirects = request.maxRedirects
    ..headers.addAll(request.headers);

  return newRequest;
}