Interceptors
Request
Implement Interceptor
class.
Request interceptor are called just before sending request.
Response
Implement Interceptor
class.
Called after successful or failed request.
Breaking out of an interceptor
In some cases you may run into a case where it's not possible to continue within an interceptor and want to break out/cancel the request. This can be achieved by throwing an exception. This will not return a response and the request will not be executed.
Keep in mind that when throwing an exception you also need to handle/catch the exception in calling code.
For example if you want to stop the request if the token is expired:
It's not strictly needed to throw an exception in order to break out of the interceptor. Other construction can also be used depending on how the project is structured. Another could be calling a service that is injected or providing a callback that handles the state of the app.
Builtins
CurlInterceptor: Interceptor that prints curl commands for each execute request
HeadersInterceptor: Interceptor that adds headers to each request
HttpLoggingInterceptor: Interceptor that logs request and response data
Both the CurlInterceptor
and HttpLoggingInterceptor
use the dart logging package. In order to see logging in console the logging package also needs to be added to your project and configured.
For example:
Last updated