feat(querier): propagate all known alerting headers (#92873)
This commit is contained in:
@@ -6,7 +6,6 @@ import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/grafana/grafana-plugin-sdk-go/backend"
|
||||
@@ -135,26 +134,8 @@ func (r *queryREST) Connect(connectCtx context.Context, name string, _ runtime.O
|
||||
return
|
||||
}
|
||||
|
||||
// get headers from the original http req and add them to each sub request
|
||||
// headers are case insensitive, however some datasources still check for camel casing so we have to send them camel cased
|
||||
expectedHeaders := map[string]string{
|
||||
"fromalert": "FromAlert",
|
||||
"content-type": "Content-Type",
|
||||
"content-length": "Content-Length",
|
||||
"user-agent": "User-Agent",
|
||||
"accept": "Accept",
|
||||
}
|
||||
|
||||
for i := range req.Requests {
|
||||
req.Requests[i].Headers = make(map[string]string)
|
||||
for k, v := range httpreq.Header {
|
||||
headerToSend, ok := expectedHeaders[strings.ToLower(k)]
|
||||
if ok {
|
||||
req.Requests[i].Headers[headerToSend] = v[0]
|
||||
} else {
|
||||
b.log.Warn(fmt.Sprintf("query service received an unexpected header, ignoring it: %s", k))
|
||||
}
|
||||
}
|
||||
req.Requests[i].Headers = ExtractKnownHeaders(httpreq.Header)
|
||||
}
|
||||
|
||||
// Actually run the query
|
||||
|
||||
Reference in New Issue
Block a user