ApiService class

HTTP API client that handles authentication, cookies, and file transfers.

Uses ApiUrls to resolve named routes and StorageService to persist auth tokens and cookies across sessions.

Constructors

ApiService({required ApiUrls urls, required String clientId, required String clientSecret})
Creates an ApiService.

Properties

clientId → String
OAuth2 client identifier.
final
clientSecret → String
OAuth2 client secret.
final
cookies ↔ Map<String, String>
Current session cookies keyed by name.
getter/setter pair
hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
urls → ApiUrls
Named URL resolver for this service instance.
final

Methods

authenticate(String email, String code) → Future
Authenticates a user using an email and one-time code.
downloadFile({required String urlName, Map<String, dynamic>? data}) → Future<Uint8List>
Downloads a file from urlName and returns its raw bytes.
ensureHeaders(Map<String, String>? headers) → Future
Ensures the request headers contain the current auth token and cookies.
fileUploadMultipart({required String urlName, required Map<String, String> data, required String fieldName, required File file, Map<String, String>? headers, OnUploadProgressCallback? onUploadProgress}) → Future<Map<String, dynamic>>
Uploads a file as a multipart POST request.
get(String urlName, Map<String, dynamic> data) → Future<Response>
Performs an authenticated HTTP GET request.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
post(String urlName, Map<String, dynamic> data, {Map<String, String>? headers, Encoding? encoding}) → Future
Performs an authenticated HTTP POST request with JSON body.
setAuth() → Future
Loads the stored auth token and cookies into the request headers.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Properties

trustSelfSigned ↔ bool
When true, self-signed TLS certificates are accepted. Should only be enabled during development.
getter/setter pair

Static Methods

getHttpClient() → HttpClient
Returns an HttpClient configured with a 10-second timeout and optional self-signed certificate trust.