AutoPilotApi class
🚀 AutoPilot Zero — Zero-dependency smart API engine for Flutter. Pure Dart + Flutter SDK only. No http package. No shared_preferences.
// 1. Init once in main()
await AutoPilotApi.init(baseUrl: 'https://api.example.com/v1');
// 2. Use anywhere — that's ALL you write
final res = await AutoPilotApi.instance.get(
endpoint : '/users/1',
parser : UserModel.fromJson,
);
if (res.isSuccess) print(res.data);
else print(res.message);
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
clearCache(
) → Future< void> -
delete<
T> ({required String endpoint, Map< String, dynamic> ? body, T parser(dynamic json)?, Map<String, dynamic> ? queryParams, Map<String, String> ? headers}) → Future<ApiResponse< T> > -
dispose(
) → void -
download(
{required String endpoint, required String savePath, Map< String, dynamic> ? queryParams, void onProgress(int received, int total)?}) → Future<ApiResponse< String> > -
get<
T> ({required String endpoint, T parser(dynamic json)?, Map< String, dynamic> ? queryParams, Map<String, String> ? headers, bool useCache = false, Duration? cacheDuration}) → Future<ApiResponse< T> > -
invalidateCache(
String endpoint, [Map< String, dynamic> ? params]) → Future<void> -
multipart<
T> ({required String endpoint, String? fileKey, String? filePath, List< MultipartFileModel> ? files, Map<String, String> ? fields, T parser(dynamic json)?, Map<String, String> ? headers, void onProgress(int sent, int total)?}) → Future<ApiResponse< T> > - Upload single or multiple files as multipart/form-data. Pure dart:io implementation — no http package needed.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
patch<
T> ({required String endpoint, Map< String, dynamic> ? body, T parser(dynamic json)?, Map<String, dynamic> ? queryParams, Map<String, String> ? headers}) → Future<ApiResponse< T> > -
post<
T> ({required String endpoint, Map< String, dynamic> ? body, T parser(dynamic json)?, Map<String, dynamic> ? queryParams, Map<String, String> ? headers}) → Future<ApiResponse< T> > -
put<
T> ({required String endpoint, Map< String, dynamic> ? body, T parser(dynamic json)?, Map<String, dynamic> ? queryParams, Map<String, String> ? headers}) → Future<ApiResponse< T> > -
reconfigure(
AutoPilotConfig fn(AutoPilotConfig c)) → void -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- instance → AutoPilotApi
-
no setter
Static Methods
-
clearTokens(
) → Future< void> -
init(
{required String baseUrl, String tokenType = 'Bearer', int timeoutSeconds = 30, bool? enableLogs, bool enableCache = false, Duration cacheDuration = const Duration(minutes: 5), Map< String, String> globalHeaders = const {}, int maxRetries = 3, Duration retryDelay = const Duration(seconds: 1), bool enableTokenRefresh = false, Future<String?> onRefreshToken()?, bool enableGlobalLoader = false, void onLoadingChanged(bool loading)?, void onError(String message, int statusCode)?, void onRequestSent(String url, String method)?, void onResponseReceived(String url, int statusCode, Duration time)?, String successKey = 'status', dynamic successValue = true, String messageKey = 'message', String dataKey = 'data', bool enableDeduplication = true, bool printPayload = true, bool prettyPrint = true, bool enableOfflineQueue = false}) → Future<AutoPilotApi> - Initialize AutoPilot Zero once at app startup.
-
setToken(
String token) → Future< void> -
setTokens(
{required String accessToken, required String refreshToken}) → Future< void>