package director import ( "net/http" "net/url" "forge.cadoles.com/Cadoles/go-proxy" "forge.cadoles.com/Cadoles/go-proxy/util" ) func createMiddlewareChain(handler http.Handler, middlewares []proxy.Middleware) http.Handler { util.Reverse(middlewares) for _, m := range middlewares { handler = m(handler) } return handler } func getRequestURL(r *http.Request) *url.URL { scheme := "http" if r.URL.Scheme != "" { scheme = r.URL.Scheme } url := url.URL{ Host: r.Host, Scheme: scheme, Path: r.URL.Path, RawQuery: r.URL.RawQuery, } return &url }