@@ -315,21 +315,21 @@ func NewRoutes(upstream *url.URL, label string, extractLabeler ExtractLabeler, o
315315 mux := newStrictMux (newInstrumentedMux (http .NewServeMux (), opt .registerer ))
316316
317317 errs := merrors .New (
318- mux .Handle ("/federate" , r .el .ExtractLabel (enforceMethods (r .matcher , "GET" ))),
319- mux .Handle ("/api/v1/query" , r .el .ExtractLabel (enforceMethods (r .query , "GET" , "POST" ))),
320- mux .Handle ("/api/v1/query_range" , r .el .ExtractLabel (enforceMethods (r .query , "GET" , "POST" ))),
321- mux .Handle ("/api/v1/alerts" , r .el .ExtractLabel (enforceMethods (r .passthrough , "GET" ))),
322- mux .Handle ("/api/v1/rules" , r .el .ExtractLabel (enforceMethods (r .passthrough , "GET" ))),
323- mux .Handle ("/api/v1/series" , r .el .ExtractLabel (enforceMethods (r .matcher , "GET" , "POST" ))),
324- mux .Handle ("/api/v1/query_exemplars" , r .el .ExtractLabel (enforceMethods (r .query , "GET" , "POST" ))),
318+ mux .Handle ("/federate" , r .el .ExtractLabel (enforceMethods (r .matcher , "OPTIONS" , " GET" ))),
319+ mux .Handle ("/api/v1/query" , r .el .ExtractLabel (enforceMethods (r .query , "OPTIONS" , " GET" , "POST" ))),
320+ mux .Handle ("/api/v1/query_range" , r .el .ExtractLabel (enforceMethods (r .query , "OPTIONS" , " GET" , "POST" ))),
321+ mux .Handle ("/api/v1/alerts" , r .el .ExtractLabel (enforceMethods (r .passthrough , "OPTIONS" , " GET" ))),
322+ mux .Handle ("/api/v1/rules" , r .el .ExtractLabel (enforceMethods (r .passthrough , "OPTIONS" , " GET" ))),
323+ mux .Handle ("/api/v1/series" , r .el .ExtractLabel (enforceMethods (r .matcher , "OPTIONS" , " GET" , "POST" ))),
324+ mux .Handle ("/api/v1/query_exemplars" , r .el .ExtractLabel (enforceMethods (r .query , "OPTIONS" , " GET" , "POST" ))),
325325 )
326326
327327 if opt .enableLabelAPIs {
328328 errs .Add (
329- mux .Handle ("/api/v1/labels" , r .el .ExtractLabel (enforceMethods (r .matcher , "GET" , "POST" ))),
329+ mux .Handle ("/api/v1/labels" , r .el .ExtractLabel (enforceMethods (r .matcher , "OPTIONS" , " GET" , "POST" ))),
330330 // Full path is /api/v1/label/<label_name>/values but http mux does not support patterns.
331331 // This is fine though as we don't care about name for matcher injector.
332- mux .Handle ("/api/v1/label/" , r .el .ExtractLabel (enforceMethods (r .matcher , "GET" ))),
332+ mux .Handle ("/api/v1/label/" , r .el .ExtractLabel (enforceMethods (r .matcher , "OPTIONS" , " GET" ))),
333333 )
334334 }
335335
@@ -340,20 +340,20 @@ func NewRoutes(upstream *url.URL, label string, extractLabeler ExtractLabeler, o
340340 r .errorIfRegexpMatch (
341341 enforceMethods (
342342 assertSingleLabelValue (r .silences ),
343- "GET" , "POST" ,
343+ "OPTIONS" , " GET" , "POST" ,
344344 ),
345345 ),
346346 )),
347347 mux .Handle ("/api/v2/silence/" , r .el .ExtractLabel (
348348 r .errorIfRegexpMatch (
349349 enforceMethods (
350350 assertSingleLabelValue (r .deleteSilence ),
351- "DELETE" ,
351+ "OPTIONS" , " DELETE" ,
352352 ),
353353 ),
354354 )),
355- mux .Handle ("/api/v2/alerts/groups" , r .el .ExtractLabel (enforceMethods (r .enforceFilterParameter , "GET" ))),
356- mux .Handle ("/api/v2/alerts" , r .el .ExtractLabel (enforceMethods (r .alerts , "GET" ))),
355+ mux .Handle ("/api/v2/alerts/groups" , r .el .ExtractLabel (enforceMethods (r .enforceFilterParameter , "OPTIONS" , " GET" ))),
356+ mux .Handle ("/api/v2/alerts" , r .el .ExtractLabel (enforceMethods (r .alerts , "OPTIONS" , " GET" ))),
357357 )
358358
359359 errs .Add (
0 commit comments