in apmproxy/receiver.go [182:209]
func (c *Client) handleTransactionRegistration() func(w http.ResponseWriter, r *http.Request) {
return func(w http.ResponseWriter, r *http.Request) {
if r.Header.Get("Content-Type") != txnRegistrationContentType {
w.WriteHeader(http.StatusUnsupportedMediaType)
return
}
reqID := r.Header.Get("x-elastic-aws-request-id")
if reqID == "" {
w.WriteHeader(http.StatusBadRequest)
return
}
rawBytes, err := io.ReadAll(r.Body)
defer r.Body.Close()
if err != nil {
c.logger.Warnf("Failed to read transaction registration body: %v", err)
w.WriteHeader(http.StatusBadRequest)
return
}
if err := c.batch.OnAgentInit(
reqID, r.Header.Get("Content-Encoding"), rawBytes,
); err != nil {
c.logger.Warnf("Failed to update invocation: %v", err)
w.WriteHeader(http.StatusUnprocessableEntity)
return
}
}
}