middleware/timeout: add timeout middleware

This commit is contained in:
Muyao CHEN 2024-09-24 23:07:42 +02:00
parent 9f83bc7b58
commit 14af16c71e
2 changed files with 36 additions and 0 deletions

View File

@ -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 }
}

View File

@ -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)
}
})
}