in funcframework/framework.go [194:208]
func wrapHTTPFunction(fn func(http.ResponseWriter, *http.Request)) (http.Handler, error) {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
if os.Getenv("K_SERVICE") != "" {
// Force flush of logs after every function trigger when running on GCF.
defer fmt.Println()
defer fmt.Fprintln(os.Stderr)
}
r, cancel := setupRequestContext(r)
if cancel != nil {
defer cancel()
}
defer recoverPanic(w, "user function execution", false)
fn(w, r)
}), nil
}