Happy to help!

The limit can be anything from the link above or something more advanced
that Jesper suggested. The skeleton could be as outlined above however.

On Fri, Feb 2, 2018, 15:40 mrx <patrik....@gmail.com> wrote:

> On Fri, Feb 2, 2018 at 1:28 PM, Henrik Johansson <dahankz...@gmail.com>
> wrote:
>> You can either use one of the existing other routers that have meddleware
>> support or you could wrap your handlers in another handler much like this:
>> handle("/foo",wrapHandler(rateLimiter, realHandler))
>> func wrapHandler(limit *ARateLimiter, handler func(http.ResponseWriter,
>> *http.Request)) func(http.ResponseWriter, *http.Request){
>>       return func(w http.ResponseWriter, r *http.Request) {
>>                    limit.Aquire() //Or however you use the limiter
>>                    handle(w,r)
>>      }
>> }
>> Very rudimentary and simplified but could perhaps work. You can wrap any
>> handler in the same way with either a shared limiter or one per call or any
>> combination.
> Feels like your limit parameter is simply a semaphore to me. I'll try that
> for now. Thanks a lot for your help, it was most illuminating!
> // Patrik

You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to