patch<T> method

Future<ResponseModel<T>> patch<T>(
  1. String path, {
  2. dynamic data,
  3. Map<String, dynamic>? queryParameters,
  4. Options? options,
  5. CancelToken? cancelToken,
  6. void onSendProgress(
    1. int,
    2. int
    )?,
  7. void onReceiveProgress(
    1. int,
    2. int
    )?,
  8. T decoder(
    1. dynamic
    )?,
  9. bool useResponseModel = true,
})

Enhanced PATCH request with ResponseModel wrapper

Implementation

Future<ResponseModel<T>> patch<T>(
  String path, {
  dynamic data,
  Map<String, dynamic>? queryParameters,
  Options? options,
  CancelToken? cancelToken,
  void Function(int, int)? onSendProgress,
  void Function(int, int)? onReceiveProgress,
  T Function(dynamic)? decoder,
  bool useResponseModel = true,
}) async {
  try {
    final response = await _dio.patch(
      path,
      data: data,
      queryParameters: queryParameters,
      options: _mergeOptions(options),
      cancelToken: cancelToken ?? _cancelToken,
      onSendProgress: onSendProgress,
      onReceiveProgress: onReceiveProgress,
    );

    if (useResponseModel) {
      return ResponseModel.fromResponse(response, decoder);
    } else {
      return ResponseModel<T>(
        data: _decodeResponse<T>(response, decoder),
        success: true,
        statusCode: response.statusCode,
      );
    }
  } catch (e) {
    throw _handleError(e);
  }
}