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
catchError. See also:
- 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). See also:
- 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
- Serialize the request/response/error before they enter the interceptor.
- QueuedInterceptorsWrapper is a helper class, which is used to conveniently create QueuedInterceptor(s). See also:
- 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.
= 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)
Exceptions / Errors
- DioError describes the error info when request failed.