一個HTTP中間件:Recover
Recover是一個HTTP中間件,能夠捕捉任何panics并提供一個適當的錯誤響應。
適用于所有框架,支持原生http handler (eg. Echo, Goji).
安裝
$ go get github.com/dre1080/recover
用法
package main import ( "log" "net/http" "github.com/dre1080/recover" ) var myPanicHandler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { panic("you should not have a handler that just panics ;)") }) func main() { recovery := recover.New(&recover.Options{ Log: log.Print, }) // recoveryWithDefaults := recovery.New(nil) app := recovery(myPanicHandler) http.ListenAndServe("0.0.0.0:3000", app) }
Terminal
HTML
JSON
Echo Example
... func main() { e := echo.New() e.Use(recover.New(&recover.Options{ Log: log.Print, })) ... e.Run(":3000") }
Goji Example
... func main() { goji.Use(recover.New(&recover.Options{ Log: log.Print, })) ... goji.Serve() }
本文由用戶 f2xc 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!