...
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