...

Source file src/github.com/go-chi/chi/_examples/versions/data/errors.go

Documentation: github.com/go-chi/chi/_examples/versions/data

     1  package data
     2  
     3  import (
     4  	"errors"
     5  	"net/http"
     6  
     7  	"github.com/go-chi/render"
     8  )
     9  
    10  var (
    11  	ErrUnauthorized = errors.New("Unauthorized")
    12  	ErrForbidden    = errors.New("Forbidden")
    13  	ErrNotFound     = errors.New("Resource not found")
    14  )
    15  
    16  func PresentError(r *http.Request, err error) (*http.Request, interface{}) {
    17  	switch err {
    18  	case ErrUnauthorized:
    19  		render.Status(r, 401)
    20  	case ErrForbidden:
    21  		render.Status(r, 403)
    22  	case ErrNotFound:
    23  		render.Status(r, 404)
    24  	default:
    25  		render.Status(r, 500)
    26  	}
    27  	return r, map[string]string{"error": err.Error()}
    28  }
    29  

View as plain text