From 14af16c71e05f4d11a8500219d43b8dc4182c371 Mon Sep 17 00:00:00 2001 From: Muyao CHEN Date: Tue, 24 Sep 2024 23:07:42 +0200 Subject: [PATCH] middleware/timeout: add timeout middleware --- framework/middleware/timeout.go | 11 +++++++++++ framework/middleware/timeout_test.go | 25 +++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 framework/middleware/timeout.go create mode 100644 framework/middleware/timeout_test.go diff --git a/framework/middleware/timeout.go b/framework/middleware/timeout.go new file mode 100644 index 0000000..15eaba6 --- /dev/null +++ b/framework/middleware/timeout.go @@ -0,0 +1,11 @@ +package middleware + +import ( + "time" + + "git.vinchent.xyz/vinchent/go-web/framework" +) + +func Timeout(d time.Duration) framework.ControllerHandler { + return func(c *framework.Context) error { return nil } +} diff --git a/framework/middleware/timeout_test.go b/framework/middleware/timeout_test.go new file mode 100644 index 0000000..34632af --- /dev/null +++ b/framework/middleware/timeout_test.go @@ -0,0 +1,25 @@ +package middleware + +import ( + "net/http" + "net/http/httptest" + "testing" + "time" + + "git.vinchent.xyz/vinchent/go-web/framework" +) + +func TestTimeout(t *testing.T) { + t.Run("Test timeout handler", func(t *testing.T) { + timeoutHandler := Timeout(1 * time.Millisecond) + + request := httptest.NewRequest(http.MethodGet, "/", nil) + response := httptest.NewRecorder() + c := framework.NewContext(response, request) + + err := timeoutHandler(c) + if err != nil { + t.Fatal(err) + } + }) +}