code: func Adapt(h http.Handler, adapters ...Adapter) http.Handler {
  	for i := range adapters {
  		adapter := adapters[len(adapters)-1-i]
  		h = adapter(h)
  	}
  	return h
  }
docs: // Adapt chains h (main request handler) main handler to adapters (middleware handlers)
  // Please note that the order of execution for `adapters` is FIFO (adapters[0] will be executed first)