A middleware that filters request based how many requests they’ve made. It uses the IP Address present in the Client-Address
header for grouping requests. (See the trust-proxies setting if Shield is behind a
proxy.) If the client has made too many request recently, the middleware returns a 429 Too Many Requests response.
This implementation groups requests into a bucket of time, rather than a rolling window of time. As soon as the bucket
expires, clients can immediately make their allowed number of requests again.