ServeHTTP serves http request for PanicHandler.
(rw http.ResponseWriter, r *http.Request)
| 32 | |
| 33 | // ServeHTTP serves http request for PanicHandler. |
| 34 | func (handler PanicHandler) ServeHTTP(rw http.ResponseWriter, r *http.Request) { |
| 35 | defer func() { |
| 36 | if r := recover(); r != nil { |
| 37 | rw.WriteHeader(http.StatusInternalServerError) |
| 38 | switch e := r.(type) { |
| 39 | case error: |
| 40 | rw.Write([]byte(e.Error())) |
| 41 | case string: |
| 42 | rw.Write([]byte(e)) |
| 43 | default: |
| 44 | rw.Write([]byte("Unknown Panic")) |
| 45 | } |
| 46 | } |
| 47 | }() |
| 48 | handler.handler.ServeHTTP(rw, r) |
| 49 | } |
no test coverage detected