Skip to content

Luna is a HTTP client with built-in functionality for a Sliding Window Rate Limiter, Exponential Backoff, Retries and many more!

License

Notifications You must be signed in to change notification settings

aftab-hussain-93/luna

Repository files navigation

Luna

Luna is a http client with build in functionality such as rate limiting, backoffs, retries. It's highly extensible allowing users to provide any data source for sliding window rate limiter fallback functions incase the request fails. It can be used to send http requests at scale. It's named after my cat :).

Sliding Window Rate Limited HTTP Client

Instructions on how to use it

Feature List

  • Sliding Window Rate Limiter
  • Examples (including Redis datastore)
  • Retry mechanism at each request level
  • Structured logging per request with multiple levels and output stream

Features required

  • Request coalescing
  • Create wrapper request with req id, name
  • Set up retry and sliding window rate limiter; Redis single/cluster deployment support
  • Simpler get, post etc with res body, res error body, ok statuses
  • OpenTelemetry support

About

Luna is a HTTP client with built-in functionality for a Sliding Window Rate Limiter, Exponential Backoff, Retries and many more!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages