recovery/recovery.go
func Wrap(h http.Handler, onPanic PanicHandler) http.Handler {
	return &recoveryHandler{h: h, p: onPanic}
}
func Wrap(h http.Handler, onPanic PanicHandler) http.Handler {
	return &recoveryHandler{h: h, p: onPanic}
}
// Wrap returns an handler which proxies requests to the given handler, but
// handles panics by logging the stack trace and returning a 500 Internal Server
// Error to the client, if possible.