MCPcopy Create free account
hub / github.com/gotify/server / Handler

Function Handler

error/handler.go:15–41  ·  view source on GitHub ↗

Handler creates a gin middleware for handling errors.

()

Source from the content-addressed store, hash-verified

13
14// Handler creates a gin middleware for handling errors.
15func Handler() gin.HandlerFunc {
16 return func(c *gin.Context) {
17 c.Next()
18
19 if len(c.Errors) > 0 {
20 for _, e := range c.Errors {
21 switch e.Type {
22 case gin.ErrorTypeBind:
23 errs, ok := e.Err.(validator.ValidationErrors)
24
25 if !ok {
26 writeError(c, e.Error())
27 return
28 }
29
30 var stringErrors []string
31 for _, err := range errs {
32 stringErrors = append(stringErrors, validationErrorToText(err))
33 }
34 writeError(c, strings.Join(stringErrors, "; "))
35 default:
36 writeError(c, e.Err.Error())
37 }
38 }
39 }
40 }
41}
42
43func validationErrorToText(e validator.FieldError) string {
44 runes := []rune(e.Field())

Callers 4

TestDefaultErrorInternalFunction · 0.85
TestBindingErrorDefaultFunction · 0.85
TestValidationErrorFunction · 0.85

Calls 3

writeErrorFunction · 0.85
validationErrorToTextFunction · 0.85
ErrorMethod · 0.80

Tested by 4

TestDefaultErrorInternalFunction · 0.68
TestBindingErrorDefaultFunction · 0.68
TestValidationErrorFunction · 0.68

Used in the wild real call sites across dependent graphs

searching dependent graphs…