networking
A general purpose HTTP Client for Dart, that is typed and error free.
How to use
Using the networking client for consuming GitHub Raw API, it is as simple as:
final repository = NetworkingGitHubRepository(
user: 'dart-pacotes',
repoId: 'networking',
branch: 'master',
);
// Create networking client that interacts with GitHub Raw API
final networkingClient = RawGitHubNetworkingClient(
repository: repository,
);
final endpoint = 'README.md';
// Get README.md content
final getEndpointResult = await networkingClient.get(endpoint: endpoint);
// Tadaaaam!
print(getEndpointResult);
Features
So far, the package offers an HTTP client that works on top of dart http
package, providing support for GET
, POST
, PUT
, DELETE
and PATCH
methods. There is typing for request errors and responses for most of the general used content-types.
Out-of-the-box it provides a client for consuming GitHub Raw API and Imgur REST API.
Missing features
These are some of the features that live in the package backlog:
- Middleware for HTTP requests and responses
- WebSocket integration
Side Effects
Powered by Dart null sound + dartz
monads, this package is free of null issues and side effects. This is to prevent the throw of any exception that may not be known and caught by developers, and to make sure that information is consistent by contract.
Bugs and Contributions
Found any bug (including typos) in the package? Do you have any suggestion or feature to include for future releases? Please create an issue via GitHub in order to track each contribution. Also, pull requests are very welcome!
Libraries
- networking
- Support for doing something awesome.