func()

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)
	})

}