• Stars
    star
    133
  • Rank 272,600 (Top 6 %)
  • Language
    Go
  • License
    MIT License
  • Created about 9 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

πŸ’₯ Go HTTP middleware that catches any panics and serves a proper error response.

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