in pkg/server/server.go [108:129]
func (p *Server) configureHandler() {
p.configurer.ConfigureHandler(func(pattern string, handler http.HandlerFunc) {
//rate limit the EksCredentialsRequest request
rateLimiter := ratelimiter.NewRateLimiter(configuration.RequestRate)
// order here matters
interceptors := []interceptor{
// add logger so it can be used downstream
logger.InjectLogger,
// add rate limite to requests
func(h http.HandlerFunc) http.HandlerFunc { return ratelimiter.RateLimitMiddleware(rateLimiter, h) },
}
for _, intercept := range interceptors {
handler = intercept(handler)
}
// add the handler to the server mux
p.mux.Handle(pattern, handler)
})
}