一個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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!

