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.