diff --git a/context_request.go b/context_request.go index d5e89ee..4f6ecec 100644 --- a/context_request.go +++ b/context_request.go @@ -55,12 +55,25 @@ func NewContextRequest(ctx *Context, log log.Log, validation contractsvalidate.V return request } +func (r *ContextRequest) Abort(code ...int) { + realCode := http.StatusBadRequest + if len(code) > 0 { + realCode = code[0] + } + + if err := r.instance.SendStatus(realCode); err != nil { + panic(err) + } +} + +// DEPRECATED: Use Abort instead func (r *ContextRequest) AbortWithStatus(code int) { if err := r.instance.SendStatus(code); err != nil { panic(err) } } +// DEPRECATED: Use Response().Json().Abort() instead func (r *ContextRequest) AbortWithStatusJson(code int, jsonObj any) { if err := r.instance.Status(code).JSON(jsonObj); err != nil { panic(err) diff --git a/go.mod b/go.mod index 30e5f35..f0c07a2 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/gofiber/fiber/v2 v2.52.5 github.com/gofiber/template/html/v2 v2.1.2 github.com/gookit/validate v1.5.4 - github.com/goravel/framework v1.14.1-0.20241229081312-7de6cc0c5866 + github.com/goravel/framework v1.14.1-0.20241230074406-15bcb208658a github.com/savioxavier/termlink v1.4.1 github.com/spf13/cast v1.7.1 github.com/stretchr/testify v1.10.0 diff --git a/go.sum b/go.sum index a2e907e..c0c18c6 100644 --- a/go.sum +++ b/go.sum @@ -357,8 +357,8 @@ github.com/gookit/validate v1.5.4 h1:nwBo6vULnVUeNFCOde6RKFRbOCKJXVMnWR0ghedacLg github.com/gookit/validate v1.5.4/go.mod h1:p9sRPfpvYB4vXICBpEPzv8FoAky+XhUOhWQghgmmat4= github.com/goravel/file-rotatelogs/v2 v2.4.2 h1:g68AzbePXcm0V2CpUMc9j4qVzcDn7+7aoWSjZ51C0m4= github.com/goravel/file-rotatelogs/v2 v2.4.2/go.mod h1:23VuSW8cBS4ax5cmbV+5AaiLpq25b8UJ96IhbAkdo8I= -github.com/goravel/framework v1.14.1-0.20241229081312-7de6cc0c5866 h1:Xz7jgacMzIN8mVzORo5xDlorANNnSDt54BhVtQ2ppM8= -github.com/goravel/framework v1.14.1-0.20241229081312-7de6cc0c5866/go.mod h1:Qo5Xlf+slrosyMxBKbNoxpEmzB6y2C5FI4BHNdVOSyI= +github.com/goravel/framework v1.14.1-0.20241230074406-15bcb208658a h1:iVjoA10Ej3VE1XEGXdsQR+75waq8BGMr9pwfOvrLGCQ= +github.com/goravel/framework v1.14.1-0.20241230074406-15bcb208658a/go.mod h1:Qo5Xlf+slrosyMxBKbNoxpEmzB6y2C5FI4BHNdVOSyI= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= diff --git a/middleware_timeout.go b/middleware_timeout.go index 58c42f1..a06043a 100644 --- a/middleware_timeout.go +++ b/middleware_timeout.go @@ -37,7 +37,7 @@ func Timeout(timeout time.Duration) contractshttp.Middleware { case <-done: case <-timeoutCtx.Done(): if errors.Is(ctx.Context().Err(), context.DeadlineExceeded) { - ctx.Request().AbortWithStatusJson(http.StatusGatewayTimeout, fiber.Map{"error": "Request Timeout"}) + ctx.Request().AbortWithStatusJson(http.StatusRequestTimeout, fiber.Map{"error": "Request Timeout"}) } } } diff --git a/middleware_timeout_test.go b/middleware_timeout_test.go index 7e6c47b..c4e90e5 100644 --- a/middleware_timeout_test.go +++ b/middleware_timeout_test.go @@ -45,7 +45,7 @@ func TestTimeoutMiddleware(t *testing.T) { require.NoError(t, err) require.NotNil(t, resp) - assert.Equal(t, http.StatusGatewayTimeout, resp.StatusCode) + assert.Equal(t, http.StatusRequestTimeout, resp.StatusCode) body, err := io.ReadAll(resp.Body) assert.NoError(t, err)