tree: c84e619417f13d67fc49d17bd533a1dcd0371769 [path history] [tgz]
  1. lib/
  2. test/
  3. .gitignore
  4. .test_config
  5. codereview.settings
  6. LICENSE
  7. pubspec.yaml
  8. README.md
README.md

http_throttle is middleware for the http package that throttles the number of concurrent requests that an HTTP client can make.

// This client allows 32 concurrent requests.
final client = new ThrottleClient(32);

Future<List<String>> readAllUrls(Iterable<Uri> urls) {
  return Future.wait(urls.map((url) {
    // You can safely call as many client methods as you want concurrently, and
    // ThrottleClient will ensure that only 32 underlying HTTP requests will be
    // open at once.
    return client.read(url);
  }));
}