network 0.10.0-dev.1 copy "network: ^0.10.0-dev.1" to clipboard
network: ^0.10.0-dev.1 copied to clipboard

outdated

Package including hooks for easy works with http package in dart

Logo

Package including hooks for easy works with http package in dart.

Pub

Key FeaturesGetting StartedTodoCredits

Key Features #

  • Simple hooks for all http methods
  • Middlewares witch handling requests, responses and errors
  • Decode json from response (Response.json() / Response.toMap / Response.toList)
  • Browser support

Getting Started #

// Simplify usage
import 'package:network/hooks.dart' as network;
network.get(...);
network.post(...);

// Alternative usage
import 'package:network/network.dart';
final client = Network();
client.get(...);
client.post(...);
client.close();

Get request:

final restResponse = await network.get(
  'https://jsonplaceholder.typicode.com/todos/1',
  queryParameters: {'name': 'value'}
);
// Auto decode json response
print(restResponse.toMap['title']);
// Also available lists
print(restResponse.toList[0]);
// Or pure 
print(restResponse.json()); // returns Object 

Get request Blob:

final blobResponse = await network.get(
  'https://via.placeholder.com/300',
);
print(blobResponse.bytes);

Post request to API:

final postResponse = await network.post(
  'https://jsonplaceholder.typicode.com/todos',
  body: {'title': 'test'},
);
print(postResponse.toMap['id']);

Handle exceptions:

try {
  await network.get('https://jsonplaceholder.typicode.com/todos/202');
} on network.NetworkException catch (error) {
  print('Network exception called, status code: ${error.code}');
}

Add middleware:

import 'package:network/middlewares.dart';

network.settings.middleware.addAll([
  defaultErrors(),
  network.Middleware(
    onRequest: (request) {
      print('request on: ${request.url}');
      return request.copyWith(
        url: request.url + '/additional-link',
      );
    },
    onResponse: (response) {
      print('response status code: ${response.statusCode}');
      return response;
    },
    onError: (error) {
      if (error is UnauthorizedException) {
        signOut();
      }

      return error;
    },
  )
]);
// Also can add middleware specify for client:
final client = Network()..middleware.add(...);
client.get(...) // Usages global (network.settings.middleware) and local (client) middlewares

And... all api docs available here

Credits #

This software uses the following open source packages:

11
likes
0
points
53
downloads

Publisher

verified publisherserge.software

Weekly Downloads

Package including hooks for easy works with http package in dart

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

http, meta

More

Packages that depend on network