MCPcopy Index your code
hub / github.com/coder/coder / newInvalidBaseURLHandler

Function newInvalidBaseURLHandler

aibridge/passthrough.go:104–117  ·  view source on GitHub ↗

newInvalidBaseURLHandler returns a handler that always returns 502 when the provider's base URL is invalid.

(prov provider.Provider, logger slog.Logger, m *metrics.Metrics, tracer trace.Tracer, baseURLErr error)

Source from the content-addressed store, hash-verified

102// newInvalidBaseURLHandler returns a handler that always returns 502
103// when the provider's base URL is invalid.
104func newInvalidBaseURLHandler(prov provider.Provider, logger slog.Logger, m *metrics.Metrics, tracer trace.Tracer, baseURLErr error) http.HandlerFunc {
105 return func(w http.ResponseWriter, r *http.Request) {
106 ctx, span := startSpan(r, tracer)
107 defer span.End()
108
109 if m != nil {
110 m.PassthroughCount.WithLabelValues(prov.Name(), r.URL.Path, r.Method).Add(1)
111 }
112
113 logger.Warn(ctx, "invalid provider base URL", slog.Error(baseURLErr))
114 http.Error(w, "invalid provider base URL", http.StatusBadGateway)
115 span.SetStatus(codes.Error, "invalid provider base URL: "+baseURLErr.Error())
116 }
117}
118
119func startSpan(r *http.Request, tracer trace.Tracer) (context.Context, trace.Span) {
120 return tracer.Start(r.Context(), "Passthrough", trace.WithAttributes(

Callers 1

newPassthroughRouterFunction · 0.85

Calls 5

startSpanFunction · 0.85
WithLabelValuesMethod · 0.80
AddMethod · 0.65
NameMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected