MCPcopy
hub / github.com/cortexlabs/cortex / proxyRequest

Method proxyRequest

pkg/activator/handler.go:77–96  ·  view source on GitHub ↗
(w http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

75}
76
77func (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
98func hasCortexProbeHeader(r *http.Request) bool {
99 return r.Header.Get(consts.CortexProbeHeader) != ""

Callers 1

ServeHTTPMethod · 0.95

Calls 3

ErrorUnexpectedFunction · 0.92
WithStackFunction · 0.92
ServeHTTPMethod · 0.45

Tested by

no test coverage detected