From 75ca8669913b86e97575ffa3b2ea14a4dcfffa6c Mon Sep 17 00:00:00 2001 From: John Guo Date: Thu, 5 Aug 2021 19:15:18 +0800 Subject: [PATCH] fix issue in ghttp.Server --- .../ghttp_middleware_handler_response.go | 6 +----- net/ghttp/ghttp_request_middleware.go | 20 +++++++++---------- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/net/ghttp/ghttp_middleware_handler_response.go b/net/ghttp/ghttp_middleware_handler_response.go index 892ac796b..f8c71c318 100644 --- a/net/ghttp/ghttp_middleware_handler_response.go +++ b/net/ghttp/ghttp_middleware_handler_response.go @@ -31,13 +31,9 @@ func MiddlewareHandlerResponse(r *Request) { if code == gerror.CodeNil { code = gerror.CodeInternalError } - message := err.Error() - if message == "" { - message = gerror.Message(code) - } internalErr = r.Response.WriteJson(DefaultHandlerResponse{ Code: code, - Message: message, + Message: err.Error(), Data: nil, }) if internalErr != nil { diff --git a/net/ghttp/ghttp_request_middleware.go b/net/ghttp/ghttp_request_middleware.go index ff8c5a539..8554b4f3f 100644 --- a/net/ghttp/ghttp_request_middleware.go +++ b/net/ghttp/ghttp_request_middleware.go @@ -133,33 +133,33 @@ func (m *middleware) callHandlerFunc(funcInfo handlerFuncInfo) { } if funcInfo.Type.NumIn() == 2 { var ( - request reflect.Value + inputObject reflect.Value ) if funcInfo.Type.In(1).Kind() == reflect.Ptr { - request = reflect.New(funcInfo.Type.In(1).Elem()) - m.request.handlerResponse.Error = m.request.Parse(request.Interface()) + inputObject = reflect.New(funcInfo.Type.In(1).Elem()) + m.request.handlerResponse.Error = m.request.Parse(inputObject.Interface()) } else { - request = reflect.New(funcInfo.Type.In(1).Elem()).Elem() - m.request.handlerResponse.Error = m.request.Parse(request.Addr().Interface()) + inputObject = reflect.New(funcInfo.Type.In(1).Elem()).Elem() + m.request.handlerResponse.Error = m.request.Parse(inputObject.Addr().Interface()) } if m.request.handlerResponse.Error != nil { return } - inputValues = append(inputValues, request) + inputValues = append(inputValues, inputObject) } // Call handler with dynamic created parameter values. results := funcInfo.Value.Call(inputValues) switch len(results) { case 1: - m.request.handlerResponse.Error = results[0].Interface().(error) + if !results[0].IsNil() { + m.request.handlerResponse.Error = results[0].Interface().(error) + } case 2: m.request.handlerResponse.Object = results[0].Interface() if !results[1].IsNil() { - if v := results[1].Interface(); v != nil { - m.request.handlerResponse.Error = v.(error) - } + m.request.handlerResponse.Error = results[1].Interface().(error) } } }