ApiKit class
A reusable API client for HTTP requests.
- Inheritance
-
- Object
- BaseApiClient
- ApiKit
Constructors
- ApiKit({required String baseUrl, String? token, int maxRetries = defaultMaxRetries, int retryDelayBase = defaultRetryDelayBaseMs, bool checkConnectivity = true, bool useCache = false, int cacheMaxAge = defaultCacheMaxAgeSeconds, int connectTimeout = defaultTimeoutMs, int receiveTimeout = defaultTimeoutMs, int sendTimeout = defaultTimeoutMs, ConnectivityChecker? connectivityChecker, TokenRefresher? tokenRefresher, ApiLogger? logger, CacheStore? cacheStore, Dio? dio})
- Creates an API client configured with the provided base URL and options.
Properties
- baseUrl → String
-
The base URL for API requests.
finalinherited
- cacheMaxAge → int
-
Maximum age of cached items in seconds.
finalinherited
- checkConnectivity → bool
-
Whether to check connectivity before making requests.
finalinherited
- connectTimeout → int
-
Connection timeout in milliseconds.
finalinherited
-
defaultHeaders
↔ Map<
String, dynamic> -
Default headers for all requests.
getter/setter pairinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- headerName → String
-
The header name for the token.
finalinherited
- maxRetries → int
-
Maximum number of retries for failed requests.
finalinherited
- receiveTimeout → int
-
Receive timeout in milliseconds.
finalinherited
- retryDelayBase → int
-
Base delay for retry attempts in milliseconds.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- sendTimeout → int
-
Send timeout in milliseconds.
finalinherited
- token ↔ String?
-
The current auth token.
getter/setter pairinherited
- tokenType → String
-
The token type (e.g., 'Bearer').
finalinherited
- useCache → bool
-
Whether to use caching for GET requests.
finalinherited
Methods
-
addDioInterceptor(
Interceptor interceptor) → void -
Add a Dio interceptor directly.
inherited
-
addInterceptor(
{Future< RequestOptions> onRequest(RequestOptions options)?, Future<Response> onResponse(Response response)?, Future<DioException> onError(DioException error)?}) → void -
Add a flexible interceptor to the Dio client.
inherited
-
clearCache(
) → void -
Clear the cache.
inherited
-
clearInterceptors(
) → void -
Remove all user-added interceptors while preserving the internal auth
and token-refresh interceptors.
inherited
-
clearToken(
) → void -
Clears the token.
inherited
-
delete<
T> (String path, {required T parser(Map< String, dynamic> ), dynamic data, Map<String, dynamic> ? queryParameters, Map<String, dynamic> ? headers, Options? options, CancelToken? cancelToken}) → Future<T> -
DELETE with custom parser.
inherited
-
downloadFile(
String url, String savePath, {Map< String, dynamic> ? queryParameters, Map<String, dynamic> ? headers, Options? options, CancelToken? cancelToken, ProgressCallback? onReceiveProgress}) → Future<void> -
Download a file.
inherited
-
get<
T> (String path, {required JsonParser< T> parser, Map<String, dynamic> ? queryParameters, Map<String, dynamic> ? headers, Options? options, CancelToken? cancelToken, ProgressCallback? onReceiveProgress, bool useCache = true}) → Future<T> -
Generic GET with custom parser.
inherited
-
getList(
String path, {Map< String, dynamic> ? queryParameters, Map<String, dynamic> ? headers, Options? options, CancelToken? cancelToken, ProgressCallback? onReceiveProgress, bool useCache = true}) → Future<List< Map< >String, dynamic> > -
GET and parse as
List<Map<String, dynamic>>.inherited -
getMap(
String path, {Map< String, dynamic> ? queryParameters, Map<String, dynamic> ? headers, Options? options, CancelToken? cancelToken, ProgressCallback? onReceiveProgress, bool useCache = true}) → Future<Map< String, dynamic> > -
GET and parse as
Map<String, dynamic>.inherited -
getPaginated<
T> (String path, {required T parser(Map< String, dynamic> ), Map<String, dynamic> ? queryParameters, Map<String, dynamic> ? headers, Options? options, CancelToken? cancelToken, ProgressCallback? onReceiveProgress, bool useCache = true, PaginationConfig? paginationConfig, PaginationStrategy? paginationStrategy}) → Future<PaginatedResponse< T> > -
Generic GET for paginated responses.
inherited
-
getRaw(
String path, {Map< String, dynamic> ? queryParameters, Map<String, dynamic> ? headers, Options? options, CancelToken? cancelToken, ProgressCallback? onReceiveProgress, bool useCache = true}) → Future<Response> -
GET and return raw Dio Response.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
patch<
T> (String path, {required T parser(Map< String, dynamic> ), dynamic data, Map<String, dynamic> ? queryParameters, Map<String, dynamic> ? headers, Options? options, CancelToken? cancelToken, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress}) → Future<T> -
PATCH with custom parser.
inherited
-
post<
T> (String path, {required JsonParser< T> parser, dynamic data, Map<String, dynamic> ? queryParameters, Map<String, dynamic> ? headers, Options? options, CancelToken? cancelToken, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress}) → Future<T> -
Generic POST with custom parser.
inherited
-
postList(
String path, {dynamic data, Map< String, dynamic> ? queryParameters, Map<String, dynamic> ? headers, Options? options, CancelToken? cancelToken, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress}) → Future<List< Map< >String, dynamic> > -
POST and parse as
List<Map<String, dynamic>>.inherited -
postMap(
String path, {dynamic data, Map< String, dynamic> ? queryParameters, Map<String, dynamic> ? headers, Options? options, CancelToken? cancelToken, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress}) → Future<Map< String, dynamic> > -
POST and parse as
Map<String, dynamic>.inherited -
put<
T> (String path, {required T parser(Map< String, dynamic> ), dynamic data, Map<String, dynamic> ? queryParameters, Map<String, dynamic> ? headers, Options? options, CancelToken? cancelToken, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress}) → Future<T> -
PUT with custom parser.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
updateTimeouts(
{int? connectTimeout, int? receiveTimeout, int? sendTimeout}) → void -
Update timeout settings.
inherited
-
uploadFile<
T> (String path, String filePath, String fieldName, {required JsonParser< T> parser, Map<String, dynamic> ? additionalData, Map<String, dynamic> ? queryParameters, Map<String, dynamic> ? headers, Options? options, CancelToken? cancelToken, ProgressCallback? onSendProgress}) → Future<T> -
Upload a file.
inherited
-
uploadFiles<
T> (String path, List< String> filePaths, String fieldName, {required JsonParser<T> parser, Map<String, dynamic> ? additionalData, Map<String, dynamic> ? queryParameters, Map<String, dynamic> ? headers, Options? options, CancelToken? cancelToken, ProgressCallback? onSendProgress}) → Future<T> -
Upload multiple files using the same multipart field name.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited