fix #366
Showing
1 changed file
with
21 additions
and
10 deletions
| ... | @@ -369,12 +369,8 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) | ... | @@ -369,12 +369,8 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) |
| 369 | if _, ok := err.(middleware.HTTPException); ok { | 369 | if _, ok := err.(middleware.HTTPException); ok { |
| 370 | // catch intented errors, only for HTTP 4XX and 5XX | 370 | // catch intented errors, only for HTTP 4XX and 5XX |
| 371 | } else { | 371 | } else { |
| 372 | if ErrorsShow { | 372 | if RunMode == "dev" { |
| 373 | handler := p.getErrorHandler(fmt.Sprint(err)) | ||
| 374 | handler(rw, r) | ||
| 375 | } else { | ||
| 376 | if !RecoverPanic { | 373 | if !RecoverPanic { |
| 377 | // go back to panic | ||
| 378 | panic(err) | 374 | panic(err) |
| 379 | } else { | 375 | } else { |
| 380 | var stack string | 376 | var stack string |
| ... | @@ -385,15 +381,30 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) | ... | @@ -385,15 +381,30 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) |
| 385 | break | 381 | break |
| 386 | } | 382 | } |
| 387 | Critical(file, line) | 383 | Critical(file, line) |
| 388 | if RunMode == "dev" { | 384 | stack = stack + fmt.Sprintln(file, line) |
| 389 | stack = stack + fmt.Sprintln(file, line) | ||
| 390 | } | ||
| 391 | } | 385 | } |
| 392 | if RunMode == "dev" { | 386 | middleware.ShowErr(err, rw, r, stack) |
| 393 | middleware.ShowErr(err, rw, r, stack) | 387 | } |
| 388 | } else { | ||
| 389 | if ErrorsShow { | ||
| 390 | handler := p.getErrorHandler(fmt.Sprint(err)) | ||
| 391 | handler(rw, r) | ||
| 392 | } else { | ||
| 393 | if !RecoverPanic { | ||
| 394 | panic(err) | ||
| 395 | } else { | ||
| 396 | Critical("Handler crashed with error", err) | ||
| 397 | for i := 1; ; i++ { | ||
| 398 | _, file, line, ok := runtime.Caller(i) | ||
| 399 | if !ok { | ||
| 400 | break | ||
| 401 | } | ||
| 402 | Critical(file, line) | ||
| 403 | } | ||
| 394 | } | 404 | } |
| 395 | } | 405 | } |
| 396 | } | 406 | } |
| 407 | |||
| 397 | } | 408 | } |
| 398 | } | 409 | } |
| 399 | }() | 410 | }() | ... | ... |
-
Please register or sign in to post a comment