in receiver/elasticapmreceiver/agentcfg.go [113:142]
func buildQuery(r *http.Request) (agentcfg.Query, error) {
var query agentcfg.Query
switch r.Method {
case http.MethodPost:
if err := json.NewDecoder(r.Body).Decode(&query); err != nil {
return query, err
}
case http.MethodGet:
params := r.URL.Query()
query = agentcfg.Query{
Service: agentcfg.Service{
Name: params.Get(agentcfg.ServiceName),
Environment: params.Get(agentcfg.ServiceEnv),
},
}
default:
if err := fmt.Errorf("%s: %s", msgMethodUnsupported, r.Method); err != nil {
return query, err
}
}
if query.Service.Name == "" {
return query, errors.New(agentcfg.ServiceName + " is required")
}
if query.Etag == "" {
query.Etag = ifNoneMatch(r)
}
return query, nil
}