Skip to content

dre1080/recovr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

recovr

godoc

Recovr is a HTTP middleware that catches any panics and serves a proper error response.

Works with all frameworks that support native http handler (eg. Echo, Goji, etc.).

HTML

Installation

$ go get github.com/dre1080/recovr

Usage

package main

import (
    "net/http"

    "github.com/dre1080/recovr"
)

var myPanicHandler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    panic("you should not have a handler that just panics ;)")
})

func main() {
    recovery := recovr.New()
    app := recovery(myPanicHandler)
    http.ListenAndServe("0.0.0.0:3000", app)
}

Examples

Echo Example

import "github.com/labstack/echo/v4"

func main() {
    e := echo.New()
    e.Use(echo.WrapMiddleware(recovr.New()))
    e.Logger.Fatal(e.Start(":1323"))
}

Goji Example

import "github.com/zenazn/goji"

func main() {
    goji.Use(recovr.New())
    goji.Serve()
}

Screenshots

  • Logger

Logger

  • JSON

JSON

  • HTML

HTML

About

💥 Go HTTP middleware that catches any panics and serves a proper error response.

Resources

License

Stars

Watchers

Forks

Languages