requestPATCH method

Future<HttpResponse> requestPATCH(
  1. HttpClient client,
  2. String url, {
  3. Map<String, String>? headers,
  4. Authorization? authorization,
  5. Map<String, String?>? queryParameters,
  6. bool noQueryString = false,
  7. Object? body,
  8. String? contentType,
  9. String? accept,
  10. ProgressListener? progressListener,
})

Implementation

Future<HttpResponse> requestPATCH(HttpClient client, String url,
    {Map<String, String>? headers,
    Authorization? authorization,
    Map<String, String?>? queryParameters,
    bool noQueryString = false,
    Object? body,
    String? contentType,
    String? accept,
    ProgressListener? progressListener}) async {
  var httpBody = HttpRequestBody(body, contentType, queryParameters);
  var requestBody = buildRequestBody(client, httpBody, authorization);

  if (queryParameters != null &&
      queryParameters.isNotEmpty &&
      requestBody.isNull) {
    var mimeType = MimeType.parse(MimeType.applicationJson);
    var body = HttpBody.from(queryParameters, mimeType);
    httpBody = HttpRequestBody(body, contentType, queryParameters);
    requestBody = buildRequestBody(client, httpBody, authorization);
  }

  var requestURL = buildRequestURL(client, url,
      authorization: authorization,
      queryParameters: queryParameters,
      noQueryString: noQueryString);

  var requestHeaders = buildRequestHeaders(client, HttpMethod.PATCH, url,
      headers: headers,
      authorization: authorization,
      contentType: requestBody.contentType,
      accept: accept);

  requestURL = await client._interceptRequest(
      HttpMethod.PATCH, requestURL, requestHeaders);

  return submitHttpRequest(
      client,
      HttpRequest(
        HttpMethod.PATCH,
        url,
        requestURL,
        authorization: authorization,
        queryParameters: queryParameters,
        withCredentials: _withCredentials(client, authorization),
        requestHeaders: requestHeaders,
        sendData: requestBody.contentAsSendData,
      ),
      progressListener,
      client.logRequests);
}