put<T> method

  1. @override
Future<Result<T>> put<T>(
  1. String path, {
  2. dynamic data,
  3. Map<String, dynamic>? queryParameters,
  4. FutureOr<T> parser(
    1. dynamic data
    )?,
  5. RestApiClientRequestOptions? options,
})
override

Implementation

@override
Future<Result<T>> put<T>(
  String path, {
  data,
  Map<String, dynamic>? queryParameters,
  FutureOr<T> Function(dynamic data)? parser,
  RestApiClientRequestOptions? options,
}) async {
  try {
    final response = await _dio.put(
      path,
      queryParameters: queryParameters,
      data: data,
      options: options?.toOptions(),
    );

    return NetworkResult(
      response: response,
      data: await _resolveResult(response.data, parser),
    );
  } on DioException catch (e) {
    await exceptionHandler.handle(e, silent: options?.silentException);

    return NetworkResult(
      response: e.response,
      data: await _resolveResult(e.response?.data, parser),
      exception: e,
      statusCode: e.response?.statusCode,
      statusMessage: e.response?.statusMessage,
    );
  }
}