(backends []*ProxyBackend, routeName string, metrics *ProxyMetrics, logger log.Logger, comparator ResponsesComparator)
| 31 | } |
| 32 | |
| 33 | func NewProxyEndpoint(backends []*ProxyBackend, routeName string, metrics *ProxyMetrics, logger log.Logger, comparator ResponsesComparator) *ProxyEndpoint { |
| 34 | hasPreferredBackend := false |
| 35 | for _, backend := range backends { |
| 36 | if backend.preferred { |
| 37 | hasPreferredBackend = true |
| 38 | break |
| 39 | } |
| 40 | } |
| 41 | |
| 42 | return &ProxyEndpoint{ |
| 43 | backends: backends, |
| 44 | routeName: routeName, |
| 45 | metrics: metrics, |
| 46 | logger: logger, |
| 47 | comparator: comparator, |
| 48 | hasPreferredBackend: hasPreferredBackend, |
| 49 | } |
| 50 | } |
| 51 | |
| 52 | func (p *ProxyEndpoint) ServeHTTP(w http.ResponseWriter, r *http.Request) { |
| 53 | level.Debug(p.logger).Log("msg", "Received request", "path", r.URL.Path, "query", r.URL.RawQuery) |
no outgoing calls