func convertBackgroundToCloudEvent()

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)
	})
}