request method

Future<HttpResponse> request({
  1. required String path,
  2. required HttpMethod method,
  3. Object? data,
  4. Map<String, dynamic>? params,
  5. Map<String, dynamic>? headers,
  6. int? maxAttempts,
  7. Duration? timeout,
})

Implementation

Future<HttpResponse> request({
  required String path,
  required HttpMethod method,
  Object? data,
  Map<String, dynamic>? params,
  Map<String, dynamic>? headers,
  int? maxAttempts,
  Duration? timeout,
}) {
  final options = Options(
    headers: headers,
    method: method.name.toUpperCase(),
    receiveTimeout: timeout,
    sendTimeout: timeout,
  );
  return _createRequest(
    () => _dio.request(path, data: data, queryParameters: params, options: options),
    onSuccess: (data) async => HttpResponse(data: data),
    onServerError: (status, data) async => HttpResponse(data: data, type: HttpResponseType.failed),
    maxAttempts: maxAttempts,
  );
}