RateLimiterMan behaviour (Rate Limiter Man v0.1.0)

View Source

A rate limiter implementation, based heavily on a blog post by Alex Koutmous.

This package handles logic for limiting the rate at which HTTP requests are sent.

TODO

Add more documentation.

Summary

Types

response_handler()

@type response_handler() :: tuple() | :no_response_handler

Callbacks

make_request(atom, tuple, response_handler, keyword)

@callback make_request(atom(), tuple(), response_handler(), keyword()) :: :ok

Functions

calculate_refresh_rate(max_requests_per_second)

get_max_requests_per_second(api_provider)

get_rate_limiter(api_provider)

make_request(api_provider, request_handler, response_handler, opts \\ [])

skip_response_handler(res)