smart_http library

Http client for Flutter and Dart.

Classes

BackgroundTransformer
The default Transformer for Dio.
BaseOptions
The base config for the Dio instance, used by Dio.options.
CancelableBloc<Event, State>
An abstraction that enables cancelable bloc to cancel the pending data requests in the current repository with addition to automatically cancel when the bloc is closed.
CancelableCubit<State>
An abstraction that enables cancelable cubit to cancel the pending data requests in the current repository with addition to automatically cancel when the cubit is closed.
CancelToken
Controls cancellation of Dio's requests.
Dio
Dio enables you to make HTTP requests easily.
DioMixin
ErrorInterceptorHandler
The handler for interceptors to handle error occurred during the request.
FormData
A class to create readable "multipart/form-data" streams. It can be used to submit forms and file uploads to http server.
Headers
The headers class for requests and responses.
HttpClient
General Repository to interact with any REST API
HttpClientAdapter
HttpAdapter is a bridge between Dio and HttpClient.
HttpClientConfig
Configure Http properties to be used later on thoroughout Http calls
HttpFile
Model for multipart file to be uploaded
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
A file to be uploaded as part of a MultipartRequest. This doesn't need to correspond to a physical file.
Options
Every request can pass an Options object which will be merged with Dio.options
QueuedInterceptor
Interceptor in queue.
QueuedInterceptorsWrapper
A helper class to create queued-interceptors 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.
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.
Transformer
Transformer allows changes to the request/response data before it is sent/received to/from the server.

Enums

DioExceptionType
The exception enumeration indicates what type of exception has happened during requests.
HttpMethod
An enum that represents HTTP methods
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

CancelableApiMixin
A mixin that provides a cancelable http client to cancel all the pending http requests in the current http client.
CancelableBlocMixin
A mixin that provides a cancelable bloc to cancel all the pending data requests in the current repository.
CancelableRepositoryMixin
A mixin that provides a cancelable repository to cancel all the pending responses in the current api.
OptionsMixin
The mixin class for options that provides common attributes.

Extensions

FileString on String
ListDynamic on List
MapDynamic on Map<K, dynamic>

Constants

uuid → const Uuid

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.
HeaderForEachCallback = void Function(String name, List<String> values)
The signature that iterates header fields.
HttpFormData = FormData
HttpListFormat = ListFormat
HttpMultipartFile = MultipartFile
HttpProgressCallback = ProgressCallback
HttpResponseType = ResponseType
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<int>> Function(String request, RequestOptions options)
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

BadRequestException
CancelException
DioException
DioException describes the exception info when a request failed.
HttpException
Exception model for http related exceptions
InternalServerException
NoDataException
NoInternetException
NotNullableError<T>
A TypeError thrown by _checkNotNullable.
TimeoutException
UnauthorisedException