in funcframework/events.go [186:201]
func convertBackgroundToCloudEvent(ceHandler http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
// If the incoming request is not CloudEvent, make it so.
if r.Header.Get(ceIDHeader) == "" && !strings.Contains(r.Header.Get(contentTypeHeader), "cloudevents") {
if err := convertBackgroundToCloudEventRequest(r); err != nil {
writeHTTPErrorResponse(w, http.StatusBadRequest, crashStatus, fmt.Sprintf("%v", err))
return
}
}
r, cancel := setContextTimeoutIfRequested(r)
if cancel != nil {
defer cancel()
}
ceHandler.ServeHTTP(w, r)
})
}