Last updated:
0 purchases
mercury client
Mercury_Client #
Portable HTTP client (Browser and Native support) with memory cache.
Methods: #
GET
HEAD
POST
PUT
DELETE
PATCH
OPTIONS.
Usage #
A simple usage example:
import 'package:mercury_client/mercury_client.dart';
main() async {
var client = HttpClient('http://gateway.your.domain/api-1');
try {
// Request with POST method:
// URL: http://gateway.your.domain/api-1/call-foo?var=123
// Content-Type: application/json
// Body: { 'content': 'any' }
var response = await client.post(
'call-foo',
parameters: {'var': '123'},
body: "{ 'content': 'any' }",
contentType: 'application/json',
);
if (response.isOK) {
print(response.body);
}
} catch (e) {
print('Error requesting URL: $e');
}
}
copied to clipboard
HttpCache Usage #
Using HttpCache you can perform in-memory cached requests.
You can pass the parameter onStaleResponse for the notification of a stale version
(a cached response that can be used while a new request is being performed):
import 'package:mercury_client/mercury_client.dart';
main() async {
// HTTP Cache with max memory of 16M and timeout of 5min:
var cache = HttpCache(
maxCacheMemory: 1024 * 1024 * 16, timeout: Duration(minutes: 5));
// The image element that will received the loaded data:
var img = ImageElement();
try {
// Request an image URL, that can be cached.
// If a stale version (already cached instance with timeout) exits,
// `onStaleResponse` will be called to indicate the existence
// of a cached response to be used while requesting the URL.
var response = await cache.getURL(
'http://host/path/to/base64/image.jpeg',
onStaleResponse: (staleResponse) {
var staleTime = staleResponse.instanceDateTime;
print('Stale image available: $staleTime');
img.src = 'data:image/jpeg;base64,${staleResponse.bodyAsString}';
},
);
if (response.isOK) {
img.src = 'data:image/jpeg;base64,${response.bodyAsString}';
}
} catch (e) {
print('Error requesting URL: $e');
}
}
copied to clipboard
Mercury (mythology) #
Mercury is known to the Romans as Mercurius.
He is the god of financial gain, commerce, eloquence, messages, communication (including divination), travelers, boundaries, luck, trickery and thieves.
See: Mercury@Wikipedia
Features and bugs #
Please file feature requests and bugs at the issue tracker.
Source #
The official source code is hosted @ GitHub:
https://github.com/gmpassos/mercury_client
Features and bugs #
Please file feature requests and bugs at the issue tracker.
Contribution #
Any help from the open-source community is always welcome and needed:
Found an issue?
Please fill a bug report with details.
Wish a feature?
Open a feature request with use cases.
Are you using and liking the project?
Promote the project: create an article, do a post or make a donation.
Are you a developer?
Fix a bug and send a pull request.
Implement a new feature.
Improve the Unit Tests.
Have you already helped in any way?
Many thanks from me, the contributors and everybody that uses this project!
Author #
Graciliano M. Passos: gmpassos@GitHub.
License #
Dart free & open-source license.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.