sky_network library
Core network clients, error mapping, and authentication interceptors.
Classes
- ApiCallHandler
- Utility interface to safely execute API calls and handle network exceptions.
- ApiCallHandlerImpl
- Default ApiCallHandler mapping exceptions to domain failures.
- BackgroundTransformer
- The default Transformer for Dio.
- BaseAuthInterceptor
- Base interceptor for injecting auth tokens and handling 401 refreshes.
- BaseOptions
-
A set of base settings for each
Dio(). BaseOptions and Options will be merged into one RequestOptions before sending the requests. See Options.compose. - CancelToken
- Controls cancellation of Dio's requests.
- Dio
- Dio enables you to make HTTP requests easily.
- DioFactory
- Factory interface for creating and configuring Dio HTTP clients.
- DioFactoryImpl
- Default implementation of DioFactory configuring common settings.
- DioMixin
- DynamicUrlInterceptor
- Interceptor that dynamically resolves and replaces the base URL of outgoing requests based on the NetworkOptions.baseUrlResolver callback, ignoring absolute paths.
- ErrorInterceptorHandler
- The handler for interceptors to handle error occurred during the request.
- FilterArgs
- Filter arguments
- FormData
- A class to create readable "multipart/form-data" streams. It can be used to submit forms and file uploads to http server.
- FusedTransformer
- A Transformer that has a fast path for decoding UTF8-encoded JSON. If the response is utf8-encoded JSON and no custom decoder is specified in the RequestOptions, this transformer is significantly faster than the default SyncTransformer and the BackgroundTransformer. This improvement is achieved by using a fused Utf8Decoder and JsonDecoder to decode the response, which is faster than decoding the utf8-encoded JSON in two separate steps, since Dart uses a special fast decoder for this case. See https://github.com/dart-lang/sdk/blob/5b2ea0c7a227d91c691d2ff8cbbeb5f7f86afdb9/sdk/lib/_internal/vm/lib/convert_patch.dart#L40
- Headers
- The headers class for requests and responses.
- HttpClientAdapter
-
HttpAdapteris a bridge between Dio and HttpClient. - Interceptor
- Interceptor helps to deal with RequestOptions, Response, and DioException during the lifecycle of a request before it reaches users.
- Interceptors
- A Queue-Model list for Interceptors.
- InterceptorsWrapper
- A helper class to create interceptors in ease.
-
ListParam<
T> - Indicates a param being used as queries or form data, and how does it gets formatted.
- LogInterceptor
- LogInterceptor is used to print logs during network requests. It should be the last interceptor added, otherwise modifications by following interceptors will not be logged. This is because the execution of interceptors is in the order of addition.
- MultipartFile
-
An upload content that is a part of
MultipartRequest. This doesn't need to correspond to a physical file. - NetworkOptions
- Configuration settings for network operations.
- NetworkTime
- Utility class maintaining a synchronized clock drift relative to the API server.
- Options
- The configuration for a single request. BaseOptions and Options will be merged into one RequestOptions before sending the requests. See Options.compose.
- PrettyDioLogger
- A pretty logger for Dio it will print request/response info with a pretty format and also can filter the request/response by RequestOptions
- QueuedInterceptor
- Interceptor in queue.
- QueuedInterceptorsWrapper
- A helper class to create QueuedInterceptor in ease.
- RedirectRecord
- A record that records the redirection happens during requests, including status code, request method, and the location.
- RequestInterceptorHandler
- The handler for interceptors to handle before the request has been sent.
- RequestOptions
- The internal request option class that is the eventual result after BaseOptions and Options are composed.
-
Response<
T> - The Response class contains the payload (could be transformed) that respond from the request, and other information of the response.
- ResponseBody
- The response wrapper class for adapters.
- ResponseInterceptorHandler
- The handler for interceptors to handle after respond.
- RetryInterceptor
- Interceptor that automatically retries failed requests due to transient errors using exponential backoff with randomized jitter.
- SkyBackgroundTransformer
- A custom Transformer that offloads JSON decoding to a background Isolate when the payload size exceeds a specific threshold in bytes.
- SyncTransformer
- If you want to custom the transformation of request/response data, you can provide a Transformer by your self, and replace the transformer by setting the Dio.transformer.
- TelemetryInterceptor
- Interceptor that captures HTTP performance metrics and synchronizes server clock drift:
- Transformer
- Transformer allows changes to the request/response data before it is sent/received to/from the server.
- UserAgentEnrichmentInterceptor
- Interceptor that automatically enriches request headers with client metadata:
Enums
- DioExceptionType
- The exception enumeration indicates what type of exception has happened during requests.
- FileAccessMode
- The file access mode when downloading a file, corresponds to a subset of dart:io::FileMode.
- 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 applied to the response data.
Mixins
- OptionsMixin
- The mixin class for options that provides common attributes.
Extensions
- DioExceptionX on DioException
- Extension on DioException to map HTTP client exceptions.
Functions
-
defaultDioExceptionReadableStringBuilder(
DioException e) → String - The default implementation of building a readable string of DioException.
Typedefs
- DefaultTransformer = SyncTransformer
- DioError = DioException
- DioError describes the exception info when a request failed.
- DioErrorType = DioExceptionType
- Deprecated in favor of DioExceptionType and will be removed in future major versions.
- DioExceptionReadableStringBuilder = String Function(DioException e)
- The readable string builder's signature of DioException.readableStringBuilder.
- DioMediaType = MediaType
-
The type (alias) for specifying the content-type of the
MultipartFile. -
HeaderForEachCallback
= void Function(String name, List<
String> values) - The signature that iterates header fields.
- InterceptorErrorCallback = void Function(DioException error, ErrorInterceptorHandler handler)
- The signature of Interceptor.onError.
- InterceptorSendCallback = void Function(RequestOptions options, RequestInterceptorHandler handler)
- The signature of Interceptor.onRequest.
- InterceptorSuccessCallback = void Function(Response response, ResponseInterceptorHandler handler)
- The signature of Interceptor.onResponse.
- JsonDecodeCallback = FutureOr Function(String)
- The callback definition for decoding a JSON string.
-
JsonEncodeCallback
= FutureOr<
String> Function(Object) - The callback definition for encoding a JSON object.
- ProgressCallback = void Function(int count, int total)
- The type of a progress listening callback when sending or receiving data.
-
RequestEncoder
= FutureOr<
List< Function(String request, RequestOptions options)int> > - The type of a request encoding callback.
-
ResponseDecoder
= FutureOr<
String?> Function(List<int> responseBytes, RequestOptions options, ResponseBody responseBody) - The type of a response decoding callback.
- ValidateStatus = bool Function(int? status)
- The type of a response status code validate callback.
Exceptions / Errors
- DioException
- DioException describes the exception info when a request failed.
-
NotNullableError<
T> -
A TypeError thrown by
_checkNotNullable.