(w http.ResponseWriter, r *http.Request)
| 75 | } |
| 76 | |
| 77 | func (h *Handler) proxyRequest(w http.ResponseWriter, r *http.Request) error { |
| 78 | target := r.Header.Get(consts.CortexTargetServiceHeader) |
| 79 | if target == "" { |
| 80 | return errors.ErrorUnexpected("missing header", consts.CortexTargetServiceHeader) |
| 81 | } |
| 82 | |
| 83 | targetURL, err := url.Parse(target) |
| 84 | if err != nil { |
| 85 | return errors.WithStack(err) |
| 86 | } |
| 87 | |
| 88 | // delete activator specific headers |
| 89 | r.Header.Del(consts.CortexAPINameHeader) |
| 90 | r.Header.Del(consts.CortexTargetServiceHeader) |
| 91 | |
| 92 | reverseProxy := httputil.NewSingleHostReverseProxy(targetURL) |
| 93 | reverseProxy.ServeHTTP(w, r) |
| 94 | |
| 95 | return nil |
| 96 | } |
| 97 | |
| 98 | func hasCortexProbeHeader(r *http.Request) bool { |
| 99 | return r.Header.Get(consts.CortexProbeHeader) != "" |
no test coverage detected