api_tooling

This package is a helper package that contains utility classes & functions to help develop safe & complete API wrappers.

Users generally will not use this package directly, but rather an API wrapper implemented with this package's help.

Using the package

Extend the ApiClient class and optionally override the handleSuccess and handleErrors to control how errors are handled.

class MyApiClient extends ApiClient {
    MyApiClient() : super(Uri.https('example.com', '/api'));

    @override
    HttpResponse handleError(ErrorHttpResponse response) {
        if (response.statusCode == 429) {
            return RateLimited(response, retryAfter: Duration(seconds: response.jsonBody['retry_after']));
        }

        return response;
    }
}

Libraries

client
public
This library exports types intended to be accessed by end users of the package, and should be re-exported by any package using package:api_tooling.
response