Skip to content

Commit b81de40

Browse files
authored
Merge pull request #44 from LyricTian/develop
fixed error handling
2 parents 612d8b4 + 704a47e commit b81de40

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

server/server.go

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -452,22 +452,30 @@ func (s *Server) HandleTokenRequest(w http.ResponseWriter, r *http.Request) (err
452452

453453
// GetErrorData get error response data
454454
func (s *Server) GetErrorData(err error) (data map[string]interface{}, statusCode int) {
455-
if _, ok := errors.Descriptions[err]; !ok {
455+
re := &errors.Response{}
456+
457+
if v, ok := errors.Descriptions[err]; ok {
458+
re.Error = err
459+
re.Description = v
460+
re.StatusCode = errors.StatusCodes[err]
461+
} else {
456462
if fn := s.InternalErrorHandler; fn != nil {
457463
fn(err)
458464
}
459-
err = errors.ErrServerError
460-
}
461-
re := &errors.Response{
462-
Error: err,
463-
Description: errors.Descriptions[err],
464-
StatusCode: errors.StatusCodes[err],
465465
}
466+
466467
if fn := s.ResponseErrorHandler; fn != nil {
467468
if vre := fn(err); vre != nil {
468469
re = vre
469470
}
470471
}
472+
473+
if re.Error == nil {
474+
re.Error = errors.ErrServerError
475+
re.Description = errors.Descriptions[errors.ErrServerError]
476+
re.StatusCode = errors.StatusCodes[errors.ErrServerError]
477+
}
478+
471479
data = map[string]interface{}{
472480
"error": re.Error.Error(),
473481
}

0 commit comments

Comments
 (0)