code: func (h RequestLimitHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) (int, error) {
  	// Limit the concurrent requests that can run through the sem channel
  	h.sem <- 1
  	defer func() {
  		<-h.sem
  	}()
  
  	return h.Next.ServeHTTP(w, r)
  }
docs: // Middleware that will rate limit the amount of concurrent requests the webserver can do at once
  // Controlled via the sem channel which has a capacity defined by the limit that is in the Caddyfile