MCPcopy Create free account
hub / github.com/cortexproject/cortex / Do

Method Do

pkg/querier/tripperware/roundtrip.go:268–292  ·  view source on GitHub ↗

Do implements Handler.

(ctx context.Context, r Request)

Source from the content-addressed store, hash-verified

266
267// Do implements Handler.
268func (q roundTripper) Do(ctx context.Context, r Request) (Response, error) {
269 request, err := q.codec.EncodeRequest(ctx, r)
270 if err != nil {
271 return nil, err
272 }
273
274 if requestMetadataMap := requestmeta.MapFromContext(ctx); requestMetadataMap != nil {
275 requestmeta.InjectMetadataIntoHTTPRequestHeaders(requestMetadataMap, request)
276 }
277
278 if err := user.InjectOrgIDIntoHTTPRequest(ctx, request); err != nil {
279 return nil, httpgrpc.Errorf(http.StatusBadRequest, "%s", err.Error())
280 }
281
282 response, err := q.next.RoundTrip(request)
283 if err != nil {
284 return nil, err
285 }
286 defer func() {
287 io.Copy(io.Discard, io.LimitReader(response.Body, 1024))
288 _ = response.Body.Close()
289 }()
290
291 return q.codec.DecodeResponse(ctx, response, r)
292}
293
294func GetSource(r *http.Request) string {
295 // check it for backwards compatibility

Callers

nothing calls this directly

Calls 8

MapFromContextFunction · 0.92
EncodeRequestMethod · 0.65
CloseMethod · 0.65
DecodeResponseMethod · 0.65
ErrorMethod · 0.45
RoundTripMethod · 0.45
CopyMethod · 0.45

Tested by

no test coverage detected