api_utils library

Classes

ApiResponse<T>
Response from a web api, with a typed data field
ApiUtilsConfig
Configure Api Utils behavior

Functions

delete<T>({required String url, GetHeaders? headers, Duration? timeout}) Future<ApiResponse<T>>
Make a DELETE request
get<T>({required String url, required FromJson<T> fromJson, bool useFromJsonOnFailure = false, GetHeaders? headers, Duration? timeout}) Future<ApiResponse<T>>
Make a GET request with a json object response
getByteArray({required String url, GetHeaders? headers, Duration? timeout}) Future<ApiResponse<Uint8List>>
Make a GET request with a byte array response
getList<T>({required String url, required FromJson<T> fromJson, GetHeaders? headers, Duration? timeout}) Future<ApiResponse<List<T>>>
Make a GET request with an json list response
isSuccessStatusCode(int code) bool
patch<T>({required String url, required Map<String, dynamic> body, FromJson<T>? fromJson, bool useFromJsonOnFailure = false, GetHeaders? headers, Duration? timeout}) Future<ApiResponse<T>>
Make a PATCH request sending a json object, with an optional json object response
post<T>({required String url, required Map<String, dynamic> body, FromJson<T>? fromJson, bool useFromJsonOnFailure = false, GetHeaders? headers, Duration? timeout}) Future<ApiResponse<T>>
Make a POST request sending a json object, with an optional json object response
postAndGetList<T>({required String url, required Map<String, dynamic> body, required FromJson<T> fromJson, GetHeaders? headers, Duration? timeout}) Future<ApiResponse<List<T>>>
Make a POST request sending a json object, with an optional json list response
postAsString<T>({required String url, required String body, FromJson<T>? fromJson, bool useFromJsonOnFailure = false, GetHeaders? headers, Duration? timeout}) Future<ApiResponse<T>>
Make a POST request sending a raw string, with an optional json object response
put<T>({required String url, required Map<String, dynamic> body, FromJson<T>? fromJson, bool useFromJsonOnFailure = false, GetHeaders? headers, Duration? timeout}) Future<ApiResponse<T>>
Make a PUT request sending a json object, with an optional json object response
putList<T>({required String url, required List body, FromJson<T>? fromJson, bool useFromJsonOnFailure = false, GetHeaders? headers, Duration? timeout}) Future<ApiResponse<T>>
Make a PUT request sending a json list, with an optional json object response
setHttpClient(Client client) → void

Typedefs

FromJson<T> = T Function(Map<String, dynamic>)
GetHeaders = Future<Map<String, String>> Function()
OnError = dynamic Function(String message, Exception? e, StackTrace? stack)

Exceptions / Errors

ApiTimeoutException