Overview

flutter_feature_network is a library designed to simplify and enhance network operations in Flutter applications. This library provides a suite of tools and methods to manage network requests efficiently, including Dio client setup, logging, request identification, and SSL security.

Methods

Get Dio Client

Only one of trustedCertificateBytes or allowedFingerprints allowed.


final dioClient = FeatureNetworkRepositoryImpl().getDioClient();
Parameter Name Type Required Description
receiveTimeout Duration no The maximum amount of time the client will wait to receive data from the server.
connectTimeout Duration no The maximum amount of time allowed for the client to establish a connection to the server.
sendTimeout Duration no The maximum amount of time allowed for the client to send the request data to the server.
baseUrl String no The base URL for all requests made by this client.
headers String no The default headers to be included in every request.
interceptors List no A list of interceptors that will be added to the Dio client for request/response modifications.
trustedCertificateBytes List no A list of bytes representing trusted certificates for SSL pinning.
allowedFingerprints List no A list of allowed SSL certificate SHA fingerprints for secure connections.

Is Connection Secure

This is will checked if the connection using certificate is secure.

if connection is secure, it will return true, otherwise it will return false.


final isSecure = FeatureNetworkRepositoryImpl().isConnectionSecure(
  serverUrl: 'https://jsonplaceholder.typicode.com/',
  sha: SHA.SHA_256,
  allowedSHAFingerprints: [
    '14f9996f9481eac7f9c005f6954c2f032d8e9cb13d4440ebed35f14bed22c43f',
  ],
);
Parameter Name Type Required Description
baseUrl String true The URL of the server to check the connection against.
sha SHA true The hashing algorithm used (e.g., SHA_256) for the certificate fingerprint.
allowedFingerprints List true A list of allowed SHA fingerprints for SSL certificates.

Check Is Connection Secure

This is will checked if the connection using certificate is secure.


final isSecure = FeatureNetworkRepositoryImpl().checkIsConnectionSecure(
  serverUrl: 'https://jsonplaceholder.typicode.com/',
  sha: SHA.SHA_256,
  allowedSHAFingerprints: [
    '14f9996f9481eac7f9c005f6954c2f032d8e9cb13d4440ebed35f14bed22c43f',
  ],
);
Parameter Name Type Required Description
baseUrl String true The URL of the server to check the connection against.
sha SHA true The hashing algorithm used (e.g., SHA_256) for the certificate fingerprint.
allowedFingerprints List true A list of allowed SHA fingerprints for SSL certificates.