flex_http library
A lightweight, flexible HTTP client for Dart and Flutter.
Provides an extensible HTTP client with support for retries, caching, streaming, file uploads, and custom interceptors. Ideal for simple and complex network requests.
Example:
final client = FlexHttpBuilder(baseUrl: 'https://jsonplaceholder.typicode.com')
.withLogging(true)
.build();
final response = await client.get<Map<String, dynamic>>('/posts/1');
print(response.decodedBody()['title']);
client.close();
Classes
- FlexHttp
- The core HTTP client class for making network requests.
- FlexHttpBuilder
- Builder class for configuring a FlexHttp instance.
- FlexHttpRequest
- Represents an HTTP request with cancellation support.
- FlexInterceptor
- Abstract base class for intercepting HTTP requests and responses.
-
FlexResponse<
T> - Represents an HTTP response with decoded body support.
-
FlexStreamResponse<
T> - Represents a streamed HTTP response chunk.
- LoggingInterceptor
- A sample interceptor that logs requests and responses.
Exceptions / Errors
- FlexHttpException
- Exception thrown when an HTTP request fails.