MCPcopy Index your code
hub / github.com/cortexproject/cortex / GetOverrides

Method GetOverrides

pkg/overrides/api.go:51–80  ·  view source on GitHub ↗

GetOverrides retrieves overrides for a specific tenant

(w http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

49
50// GetOverrides retrieves overrides for a specific tenant
51func (a *API) GetOverrides(w http.ResponseWriter, r *http.Request) {
52 userID, _, err := users.ExtractTenantIDFromHTTPRequest(r)
53 if err != nil {
54 http.Error(w, err.Error(), http.StatusBadRequest)
55 return
56 }
57
58 // Read overrides from bucket storage
59 overrides, err := a.getOverridesFromBucket(r.Context(), userID)
60 if err != nil {
61 if err.Error() == ErrUserNotFound {
62 level.Info(a.logger).Log("msg", "User not found", "user", userID)
63 http.Error(w, "user not found", http.StatusBadRequest)
64 } else {
65 level.Error(a.logger).Log("msg", "failed to get overrides from bucket", "userID", userID, "err", err)
66 http.Error(w, "Internal server error", http.StatusInternalServerError)
67 }
68 return
69 }
70 if len(overrides) == 0 {
71 http.Error(w, "not found", http.StatusNotFound)
72 return
73 }
74 w.Header().Set("Content-Type", "application/json")
75 if err := json.NewEncoder(w).Encode(overrides); err != nil {
76 level.Error(a.logger).Log("msg", "failed to encode overrides response", "err", err)
77 http.Error(w, "Internal server error", http.StatusInternalServerError)
78 return
79 }
80}
81
82// SetOverrides updates overrides for a specific tenant
83func (a *API) SetOverrides(w http.ResponseWriter, r *http.Request) {

Callers 3

TestAPIEndpointsFunction · 0.80
TestAPITenantExtractionFunction · 0.80
TestAPIBucketErrorsFunction · 0.80

Calls 8

SetMethod · 0.65
EncodeMethod · 0.65
ErrorMethod · 0.45
ContextMethod · 0.45
LogMethod · 0.45
HeaderMethod · 0.45

Tested by 3

TestAPIEndpointsFunction · 0.64
TestAPITenantExtractionFunction · 0.64
TestAPIBucketErrorsFunction · 0.64