easy_http library

Classes

BaseOptions
The common config for the Dio instance. dio.options is a instance of BaseOptions
BasicSmartRefresh<T extends EasyHttpCacheController>
BezierCircleHeader
bezier + circle indicator,you can use this directly
BezierHeader
bezier container,if you need to implements indicator with bezier ,you can use consider about use this this will add the bezier container effect
Bindings
Bindings should be extended or implemented. When using GetMaterialApp, all GetPages and navigation methods (like Get.to()) have a binding property that takes an instance of Bindings to manage the dependencies() (via Get.put()) for the Route you are opening.
BindingsBuilder<T>
Simplifies Bindings generation from a single callback. To avoid the creation of a custom Binding instance per route.
CancelToken
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.
ChRefreshString
Chinese
ClassicFooter
the most common indicator,combine with a text and a icon
ClassicHeader
the most common indicator,combine with a text and a icon
CustomFooter
a custom Indicator for footer,the usage I have put in CustomHeader,same with that See also
CustomHeader
a custom Indicator for header
CustomSmartRefresh<T extends PaginationMixin>
CustomTransition
DefaultTransformer
DeRefreshString
German
Dio
A powerful Http client for Dart, which supports Interceptors, Global configuration, FormData, File downloading etc. and Dio is very easy to use.
DioMixin
DisposableInterface
EasyHttp
EasyHttpCacheController<T>
EnRefreshString
English
ErrorInterceptorHandler
Handler for error interceptor.
EsRefreshString
Spanish
FastList<T>
FormData
A class to create readable "multipart/form-data" streams. It can be used to submit forms and file uploads to http server.
FrRefreshString
French
FullLifeCycleController
GetBar
GetBuilder<T extends GetxController>
GetBuilderState<T extends GetxController>
GetConnect
GetConnectInterface
GetCupertinoApp
GetDelegate
GetHttpClient
GetInformationParser
GetInstance
GetInterface
GetInterface allows any auxiliary package to be merged into the "Get" class through extensions
GetLifeCycle
GetMaterialApp
GetMaterialController
GetMicrotask
GetMiddleware
The Page Middlewares. The Functions will be called in this order (( redirect -> onPageCalled -> onBindingsStart -> onPageBuildStart -> onPageBuilt -> onPageDispose ))
GetModalBottomSheetRoute<T>
GetNavConfig
This config enables us to navigate directly to a sub-url
GetNavigator
GetNotifier<T>
GetObserver
GetPage<T>
GetPageRoute<T>
GetPlatform
GetQueue
GetResponsiveView<T>
Extend this widget to build responsive view. this widget contains the screen property that have all information about the screen size and type. You have two options to build it. 1- with builder method you return the widget to build. 2- with methods desktop, tablet,phone, watch. the specific method will be built when the screen type matches the method when the screen is ScreenType.Tablet the tablet method will be exuded and so on. Note if you use this method please set the property alwaysUseBuilder to false With settings property you can set the width limit for the screen types.
GetResponsiveWidget<T extends GetLifeCycleBase?>
GetRouterOutlet
GetSnackBar
GetSnackBarState
GetSocket
GetStream<T>
GetStream is the lightest and most performative way of working with events at Dart. You sintaxe is like StreamController, but it works with simple callbacks. In this way, every event calls only one function. There is no buffering, to very low memory consumption. event add will add a object to stream. addError will add a error to stream. listen is a very light StreamSubscription interface. Is possible take the last value with value property.
GetStreamTransformation<T>
GetUtils
GetView<T>
GetView is a great way of quickly access your Controller without having to call Get.find<AwesomeController>() yourself.
GetWidget<S extends GetLifeCycleBase?>
GetWidget is a great way of quickly access your individual Controller without having to call Get.find<AwesomeController>() yourself. Get save you controller on cache, so, you can to use Get.create() safely GetWidget is perfect to multiples instance of a same controller. Each GetWidget will have your own controller, and will be call events as onInit and onClose when the controller get in/get out on memory.
GetX<T extends DisposableInterface>
GetxController
GetxService
Unlike GetxController, which serves to control events on each of its pages, GetxService is not automatically disposed (nor can be removed with Get.delete()). It is ideal for situations where, once started, that service will remain in memory, such as Auth control for example. Only way to remove it is Get.reset().
GetXState<T extends DisposableInterface>
GraphQLResponse<T>
GridSmartRefresher<T extends PaginationMixin>
Headers
HeaderValue
HttpClientAdapter
HttpAdapter is a bridge between Dio and HttpClient.
InstanceInfo
Interceptor
Dio instance may have interceptor(s) by which you can intercept requests/responses/errors before they are handled by then or catchError. See also:
Interceptors
Interceptors are a queue, and you can add any number of interceptors, All interceptors will be executed in first in first out order.
InterceptorsWrapper
InterceptorsWrapper is a helper class, which is used to conveniently create interceptor(s). See also:
InternalFinalCallback<T>
Special callable class to keep the contract of a regular method, and avoid overrides if you extend the class that uses it, as Dart has no final methods. Used in DisposableInterface to avoid the danger of overriding onStart.
ItRefreshString
Italian
JpRefreshString
Japanese
KrRefreshString
Korean
LightSubscription<T>
LinkFooter
enable footer link other footer place outside the viewport
LinkHeader
enable header link other header place outside the viewport
ListParam<T>
ListSmartRefresher<T extends PaginationMixin>
ListSmartRefresherWithFixedTopItem<T extends PaginationMixin>
LoadIndicator
a widget implements pull up load
LoadIndicatorState<T extends LoadIndicator>
LoadingProcessor
footer Indicator exposure interface
Lock
Add lock/unlock API for interceptors.
LogInterceptor
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.
MaterialClassicHeader
mostly use flutter inner's RefreshIndicator
MiddlewareRunner
MiniStream<T>
MiniSubscription<T>
MixinBuilder<T extends GetxController>
MultipartFile
A file to be uploaded as part of a MultipartRequest. This doesn't need to correspond to a physical file.
NlRefreshString
Dutch
Node<T>
Obx
The simplest reactive widget in GetX.
ObxState
ObxValue<T extends RxInterface>
Similar to Obx, but manages a local state. Pass the initial data in constructor. Useful for simple local states, like toggles, visibility, themes, button states, etc. Sample: ObxValue((data) => Switch( value: data.value, onChanged: (flag) => data.value = flag, ), false.obs, ),
ObxWidget
The ObxWidget is the base for all GetX reactive widgets
Options
Every request can pass an Options object which will be merged with Dio.options
PageRedirect
PathDecoded
PtRefreshString
QueuedInterceptor
Serialize the request/response/error before they enter the interceptor.
QueuedInterceptorsWrapper
QueuedInterceptorsWrapper is a helper class, which is used to conveniently create QueuedInterceptor(s). See also:
RedirectRecord
RefreshConfiguration
Controls how SmartRefresher widgets behave in a subtree.the usage just like ScrollConfiguration
RefreshController
A controller controll header and footer state, it can trigger driving request Refresh ,set the initalRefresh,status if needed
RefreshIndicator
a widget implements ios pull down refresh effect and Android material RefreshIndicator overScroll effect
RefreshIndicatorState<T extends RefreshIndicator>
Internal Implementation of Head Indicator
RefreshLocalizations
Implementation of localized strings for the ClassicHeader,ClassicFooter,TwoLevelHeader
RefreshLocalizationsDelegate
RefreshNotifier<T>
RefreshPhysics
a scrollPhysics for config refresh scroll effect,enable viewport out of edge whatever physics it is in ClampingScrollPhysics, it doesn't allow to flip out of edge,but in RefreshPhysics,it will allow to do that, by parent physics passing,it also can attach the different of iOS and Android different scroll effect it also handles interception scrolling when refreshed, or when the second floor is open and closed. with SpringDescription passing,you can custom spring back animate,the more paramter can be setting in RefreshConfiguration
RefreshProcessor
head Indicator exposure interface
RefreshString
interface implements different language
RequestInterceptorHandler
Handler for request interceptor.
RequestOptions
Response<T>
Response describes the http Response info.
ResponseBody
ResponseInterceptorHandler
Handler for response interceptor.
ResponsiveScreen
ResponsiveScreenSettings
RouterOutlet<TDelegate extends RouterDelegate<T>, T extends Object>
RouterOutletState<TDelegate extends RouterDelegate<T>, T extends Object>
Routing
RuRefreshString
Russian
Rx<T>
Foundation class used for custom Types outside the common native Dart types. For example, any custom "Model" class, like User().obs will use Rx as wrapper.
RxBool
RxController
RxDouble
RxInt
RxInterface<T>
This class is the foundation for all reactive (Rx) classes that makes Get so powerful. This interface is the contract that _RxImpl]<T> uses in all it's subclass.
RxList<E>
Create a list similar to List<T>
RxMap<K, V>
Rxn<T>
RxnBool
RxnDouble
RxnInt
RxnNum
RxNotifier<T>
RxnString
Rx class for String Type.
RxNum
RxSet<E>
RxStatus
RxString
Rx class for String Type.
SimpleBuilder
SimpleBuilderState
SmartRefresher
This is the most important component that provides drop-down refresh and up loading. RefreshController must not be null,Only one controller to one SmartRefresher
SmartRefresherState
SnackbarController
SuperController<T>
SvRefreshString
Swedish
Transformer
Transformer allows changes to the request/response data before it is sent/received to/from the server.
Translations
TrustedCertificate
TwoLevelHeader
this header help you implements twoLevel function easyily, the behaviour just like TaoBao,XieCheng(携程) App TwoLevel
UkRefreshString
Value<T>
ValueBuilder<T>
Manages a local state like ObxValue, but uses a callback instead of a Rx value.
ValueBuilderState<T>
WaterDropHeader
QQ ios refresh header effect
WaterDropMaterialHeader
attach the waterdrop effect to MaterialClassicHeader
Worker
Workers

Enums

BezierCircleType
BezierDismissType
DioErrorType
IconPosition
direction that icon should place to the text
ListFormat
ListFormat specifies the array format (a single parameter with multiple parameter or multiple parameters with the same name) and the separator for array items.
LoadStatus
footer state
LoadStyle
footer indicator display style
PopMode
Enables the user to customize the intended pop behavior
PreventDuplicateHandlingMode
Enables the user to customize the behavior when pushing multiple routes that shouldn't be duplicates
RefreshStatus
header state
RefreshStyle
header indicator display style
ResponseType
ResponseType indicates which transformation should be automatically applied to the response data by Dio.
RowStyle
ScreenType
SmartManagement
GetX by default disposes unused controllers from memory, Through different behaviors. SmartManagement.full SmartManagement.full is the default one. Dispose classes that are not being used and were not set to be permanent. In the majority of the cases you will want to keep this config untouched. If you new to GetX then don't change this. SmartManagement.onlyBuilder only controllers started in init: or loaded into a Binding with Get.lazyPut() will be disposed. If you use Get.put() or Get.putAsync() or any other approach, SmartManagement will not have permissions to exclude this dependency. With the default behavior, even widgets instantiated with "Get.put" will be removed, unlike SmartManagement.onlyBuilders. SmartManagement.keepFactoryJust like SmartManagement.full, it will remove it's dependencies when it's not being used anymore. However, it will keep their factory, which means it will recreate the dependency if you need that instance again.
SnackbarStatus
Indicates Status of snackbar SnackbarStatus.OPEN Snack is fully open, SnackbarStatus.CLOSED Snackbar has closed, SnackbarStatus.OPENING Starts with the opening animation and ends with the full snackbar display, SnackbarStatus.CLOSING Starts with the closing animation and ends with the full snackbar dispose
SnackPosition
Indicates if snack is going to start at the TOP or at the BOTTOM
SnackStyle
Indicates if snack will be attached to the edge of the screen or not
Transition
TwoLevelDisplayAlignment

Mixins

FullLifeCycleMixin
GetLifeCycleBase
The GetLifeCycle
GetResponsiveMixin
GetSingleTickerProviderStateMixin
Used like SingleTickerProviderMixin but only with Get Controllers. Simplifies AnimationController creation inside GetxController.
GetStateUpdaterMixin<T extends StatefulWidget>
Complies with GetStateUpdater
GetTickerProviderStateMixin
Used like TickerProviderMixin but only with Get Controllers. Simplifies multiple AnimationController creation inside GetxController.
GetxServiceMixin
Allow track difference between GetxServices and GetxControllers
IndicatorStateMixin<T extends StatefulWidget, V>
mixin in IndicatorState,it will get position and remove when dispose,init mode state
NotifyManager<T>
OptionsMixin
PageRouteReportMixin<T>
PaginationMixin<R>
RxObjectMixin<T>
global object that registers against GetX and Obx, and allows the reactivity of those Widgets and Rx values.
ScrollMixin
SingleGetTickerProviderMixin
Used like SingleTickerProviderMixin but only with Get Controllers. Simplifies AnimationController creation inside GetxController.
StateMixin<T>

Constants

rtlLanguages → const List<String>

Properties

Get → _GetImpl
final
It replaces the Flutter Navigator, but needs no context. You can to use navigator.push(YourRoute()) rather Navigator.push(context, YourRoute());
no setter

Functions

ambiguate<T>(T? value) → T?
bodyBytesToString(Stream<List<int>> bodyBytes, Map<String, String> headers) Future<String>
debounce<T>(RxInterface<T> listener, WorkerCallback<T> callback, {Duration? time, Function? onError, void onDone()?, bool? cancelOnError}) Worker
debounce is similar to interval, but sends the last value. Useful for Anti DDos, every time the user stops typing for 1 second, for instance. When listener emits the last "value", when time hits, it calls callback with the last "value" emitted.
defaultLogWriterCallback(String value, {bool isError = false}) → void
default logger from GetX
ever<T>(RxInterface<T> listener, WorkerCallback<T> callback, {dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) Worker
Called every time listener changes. As long as the condition returns true.
everAll(List<RxInterface> listeners, WorkerCallback callback, {dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) Worker
Similar to ever, but takes a list of listeners, the condition for the callback is common to all listeners, and the callback is executed to each one of them. The Worker is common to all, so worker.dispose() will cancel all streams.
getDefaultFooter({String? idle, String? loading, String? failed, String? canLoading, String? noMore}) CustomFooter
no use
interval<T>(RxInterface<T> listener, WorkerCallback<T> callback, {Duration time = const Duration(seconds: 1), dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) Worker
Ignore all changes in listener during time (1 sec by default) or until condition is met (can be a bool expression or a bool Function()), It brings the 1st "value" since the period of time, so if you click a counter button 3 times in 1 sec, it will show you "1" (after 1 sec of the first press) click counter 3 times in 1 sec, it will show you "4" (after 1 sec) click counter 2 times in 1 sec, it will show you "7" (after 1 sec).
once<T>(RxInterface<T> listener, WorkerCallback<T> callback, {dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) Worker
once() will execute only 1 time when condition is met and cancel the subscription to the listener stream right after that. condition defines when callback is called, and can be a bool or a bool Function().

Typedefs

AddSubscription<T> = FutureOr<void> Function(LightSubscription<T> subs)
AsyncInstanceBuilderCallback<S> = Future<S> Function()
BindingBuilderCallback = void Function()
Condition = bool Function()
Decoder<T> = T Function(dynamic data)
FooterBuilder = Widget Function(BuildContext context, LoadStatus? mode)
custom footer builder,you can use second paramter to know what footerr state is
GetControllerBuilder<T extends DisposableInterface> = Widget Function(T controller)
GetPageBuilder = Widget Function()
GetXControllerBuilder<T extends DisposableInterface> = Widget Function(T controller)
HeaderBuilder = Widget Function(BuildContext context, RefreshStatus? mode)
custom header builder,you can use second paramter to know what header state is
HeaderForEachCallback = void Function(String name, List<String> values)
IndicatorBuilder = Widget Function()
global default indicator builder
InjectorBuilderCallback<S> = S Function(GetInstance)
InstanceBuilderCallback<S> = S Function()
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.
LogWriterCallback = void Function(String text, {bool isError})
VoidCallback from logs
ModeChangeCallBack<T> = void Function(T? mode)
NotifierBuilder<T> = Widget Function(T state)
OffsetCallBack = void Function(double offset)
OnTap = void Function(GetSnackBar snack)
OnTwoLevel = void Function(bool isOpen)
when viewport not full one page, for different state,whether it should follow the content
OuterBuilder = Widget Function(Widget child)
wrap child in outside,mostly use in add background color and padding
PrintFunctionCallback = void Function(String prefix, dynamic value, String info, {bool? isError})
Progress = dynamic Function(double percent)
ProgressCallback = void Function(int count, int total)
Callback to listen the progress for sending/receiving data.
RefresherBuilder = Widget Function(BuildContext context, RefreshPhysics physics)
a builder for attaching refresh function with the physics
RemoveSubscription<T> = FutureOr<bool?> Function(LightSubscription<T> subs)
RequestEncoder = List<int> Function(String request, RequestOptions options)
ResponseDecoder = String Function(List<int> responseBytes, RequestOptions options, ResponseBody responseBody)
ResponseInterceptor<T> = Future<Response<T>?> Function(Request<T> request, Type targetType, HttpClientResponse response)
ShouldFollowContent = bool Function(LoadStatus? status)
when viewport not full one page, for different state,whether it should follow the content
SnackbarStatusCallback = void Function(SnackbarStatus? status)
ValidateStatus = bool Function(int? status)
ValueBuilderBuilder<T> = Widget Function(T snapshot, ValueBuilderUpdateCallback<T> updater)
ValueBuilderUpdateCallback<T> = void Function(T snapshot)
ValueUpdater<T> = T Function()
VoidFutureCallBack = Future<void> Function()
WidgetCallback = Widget Function()
WorkerCallback<T> = dynamic Function(T callback)

Exceptions / Errors

DioError
DioError describes the error info when request failed.