dio library Null safety
A powerful Http client for Dart, which supports Interceptors, Global configuration, FormData, File downloading etc. and Dio is very easy to use.
A open source project authorized by https://flutterchina.club.
The common config for the Dio instance.
dio.optionsis a instance of BaseOptions
- You can cancel a request by using a cancel token. One token can be shared with different requests. when a token's cancel method invoked, all requests with this token will be cancelled.
- A powerful Http client for Dart, which supports Interceptors, Global configuration, FormData, File downloading etc. and Dio is very easy to use. [...]
- Handler for error interceptor.
- A class to create readable "multipart/form-data" streams. It can be used to submit forms and file uploads to http server.
- HttpAdapter is a bridge between Dio and HttpClient. [...]
Dio instance may have interceptor(s) by which you can intercept
requests/responses/errors before they are handled by
- Interceptors are a queue, and you can add any number of interceptors, All interceptors will be executed in first in first out order.
- InterceptorsWrapper is a helper class, which is used to conveniently create interceptor(s). More details see Interceptor.
- Add lock/unlock API for interceptors.
- LogInterceptor is used to print logs during network requests. It's better to add LogInterceptor to the tail of the interceptor queue, otherwise the changes made in the interceptor behind A will not be printed out. This is because the execution of interceptors is in the order of addition.
A file to be uploaded as part of a
MultipartRequest. This doesn't need to correspond to a physical file. [...]
- Every request can pass an Options object which will be merged with Dio.options
- Handler for request interceptor.
- Response describes the http Response info.
- Handler for response interceptor.
- Transformer allows changes to the request/response data before it is sent/received to/from the server. [...]
- ListFormat specifies the array format (a single parameter with multiple parameter or multiple parameters with the same name) and the separator for array items.
- ResponseType indicates which transformation should be automatically applied to the response data by Dio.
- CancelWrapper = Future Function(Future)
- EnqueueCallback = FutureOr Function()
= void Function(String name, List<
- InterceptorErrorCallback = void Function(DioError e, ErrorInterceptorHandler handler)
- InterceptorSendCallback = void Function(RequestOptions options, RequestInterceptorHandler handler)
- InterceptorSuccessCallback = void Function(Response e, ResponseInterceptorHandler handler)
- JsonDecodeCallback = dynamic Function(String)
- The default Transformer for Dio. If you want to custom the transformation of request/response data, you can provide a Transformer by your self, and replace the DefaultTransformer by setting the dio.Transformer.
- ProgressCallback = void Function(int count, int total)
- Callback to listen the progress for sending/receiving data. [...]
int>Function(String request, RequestOptions options)
= String Function(List<
int>responseBytes, RequestOptions options, ResponseBody responseBody)
- ValidateStatus = bool Function(int? status)
- VoidCallback = dynamic Function()
Exceptions / Errors
- DioError describes the error info when request failed.