static Func<IHttpRequest, Task<HttpResponse>> Wrap(Func<IHttpRequest, Task<HttpResponse>> handler, LeakyBucket rateLimitBucket) { return request => rateLimitBucket.Fill(1) ? handler(request) : Task.FromResult(TooManyRequests); }