jh_network_core 0.1.0 copy "jh_network_core: ^0.1.0" to clipboard
jh_network_core: ^0.1.0 copied to clipboard

A configurable, business-agnostic Dio client builder with layered overrides, response decoding, error mapping, and logging hooks.

example/example.dart

import 'package:dio/dio.dart';
import 'package:jh_network_core/jh_network_core.dart';

Future<void> main() async {
  final factory = NetworkClientFactory(
    NetworkClientConfig(
      baseUrlProvider: () => 'https://api.example.com',
      headersProvider: (_) => {'accept-language': 'en-US'},
      networkErrorMessageProvider: (kind, error) => switch (kind) {
        NetworkErrorKind.noConnection => 'No internet connection.',
        NetworkErrorKind.timeout => 'The request timed out.',
        _ => null,
      },
    ),
  );

  final dio = factory.create(
    overrides: NetworkClientOverrides(
      headersProvider: (_) => {'x-api-module': 'example'},
      interceptors: [LogInterceptor(requestBody: true, responseBody: true)],
    ),
  );

  final response = await dio.get<Map<String, dynamic>>('/status');
  print(response.data);
}
0
likes
140
points
88
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A configurable, business-agnostic Dio client builder with layered overrides, response decoding, error mapping, and logging hooks.

Repository (GitHub)
View/report issues

Topics

#dio #http #networking #interceptor #api-client

License

MIT (license)

Dependencies

dio

More

Packages that depend on jh_network_core