import 'package:dio/dio.dart'; import 'package:get/get.dart' hide Response; class RestService implements Dio { RestService({ required this.dio, }); late Dio dio; static RestService get to => Get.find(); @override HttpClientAdapter get httpClientAdapter => dio.httpClientAdapter; @override set httpClientAdapter(adapter) => dio.httpClientAdapter = adapter; @override BaseOptions get options => dio.options; @override set options(opt) => dio.options = opt; @override Transformer get transformer => dio.transformer; @override set transformer(trans) => dio.transformer = trans; @override Interceptors get interceptors => dio.interceptors; @override void close({bool force = false}) => dio.close(force: force); @override Future> fetch(RequestOptions requestOptions) => dio.fetch(requestOptions); @override Future> get( String path, { Object? data, Map? queryParameters, Options? options, CancelToken? cancelToken, ProgressCallback? onReceiveProgress, }) => dio.get(path, data: data, queryParameters: queryParameters, options: options, cancelToken: cancelToken, onReceiveProgress: onReceiveProgress); @override Future> getUri( Uri uri, { Object? data, Options? options, CancelToken? cancelToken, ProgressCallback? onReceiveProgress, }) => dio.getUri(uri, data: data, options: options, cancelToken: cancelToken, onReceiveProgress: onReceiveProgress); @override Future> post( String path, { Object? data, Map? queryParameters, Options? options, CancelToken? cancelToken, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress, }) => dio.post(path, data: data, queryParameters: queryParameters, options: options, cancelToken: cancelToken, onSendProgress: onSendProgress, onReceiveProgress: onReceiveProgress); @override Future> postUri( Uri uri, { Object? data, Options? options, CancelToken? cancelToken, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress, }) => dio.postUri(uri, data: data, options: options, cancelToken: cancelToken, onSendProgress: onSendProgress, onReceiveProgress: onReceiveProgress); @override Future> put( String path, { Object? data, Map? queryParameters, Options? options, CancelToken? cancelToken, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress, }) => dio.put(path, data: data, queryParameters: queryParameters, options: options, cancelToken: cancelToken, onSendProgress: onSendProgress, onReceiveProgress: onReceiveProgress); @override Future> putUri( Uri uri, { Object? data, Options? options, CancelToken? cancelToken, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress, }) => dio.putUri(uri, data: data, options: options, cancelToken: cancelToken, onSendProgress: onSendProgress, onReceiveProgress: onReceiveProgress); @override Future> head( String path, { Object? data, Map? queryParameters, Options? options, CancelToken? cancelToken, }) => dio.head(path, data: data, queryParameters: queryParameters, options: options, cancelToken: cancelToken); @override Future> headUri( Uri uri, { Object? data, Options? options, CancelToken? cancelToken, }) => dio.headUri(uri, data: data, options: options, cancelToken: cancelToken); @override Future> delete( String path, { Object? data, Map? queryParameters, Options? options, CancelToken? cancelToken, }) => dio.delete(path, data: data, queryParameters: queryParameters, options: options, cancelToken: cancelToken); @override Future> deleteUri( Uri uri, { Object? data, Options? options, CancelToken? cancelToken, }) => dio.deleteUri(uri, data: data, options: options, cancelToken: cancelToken); @override Future download( String urlPath, savePath, { ProgressCallback? onReceiveProgress, Map? queryParameters, CancelToken? cancelToken, bool deleteOnError = true, String lengthHeader = Headers.contentLengthHeader, Object? data, Options? options, }) => dio.download(urlPath, savePath, onReceiveProgress: onReceiveProgress, queryParameters: queryParameters, cancelToken: cancelToken, deleteOnError: deleteOnError, lengthHeader: lengthHeader, data: data, options: options); @override Future downloadUri( Uri uri, savePath, { ProgressCallback? onReceiveProgress, CancelToken? cancelToken, bool deleteOnError = true, String lengthHeader = Headers.contentLengthHeader, Object? data, Options? options, }) => dio.downloadUri(uri, savePath, onReceiveProgress: onReceiveProgress, cancelToken: cancelToken, deleteOnError: deleteOnError, lengthHeader: lengthHeader, data: data, options: options); @override Future> patch( String path, { Object? data, Map? queryParameters, Options? options, CancelToken? cancelToken, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress, }) => dio.patch(path, data: data, queryParameters: queryParameters, options: options, cancelToken: cancelToken, onSendProgress: onSendProgress, onReceiveProgress: onReceiveProgress); @override Future> patchUri( Uri uri, { Object? data, Options? options, CancelToken? cancelToken, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress, }) => dio.patchUri(uri, data: data, options: options, cancelToken: cancelToken, onSendProgress: onSendProgress, onReceiveProgress: onReceiveProgress); @override Future> request( String path, { Object? data, Map? queryParameters, CancelToken? cancelToken, Options? options, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress, }) => dio.request(path, data: data, queryParameters: queryParameters, cancelToken: cancelToken, options: options, onSendProgress: onSendProgress, onReceiveProgress: onReceiveProgress); @override Future> requestUri( Uri uri, { Object? data, CancelToken? cancelToken, Options? options, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress, }) => dio.requestUri(uri, data: data, cancelToken: cancelToken, options: options, onSendProgress: onSendProgress, onReceiveProgress: onReceiveProgress); }