feat(platform-api): enforce request timeout

This commit is contained in:
lingniu
2026-07-04 00:55:43 +08:00
parent 081f8b5099
commit 4bfaf8c4c8
5 changed files with 57 additions and 1 deletions

View File

@@ -35,5 +35,12 @@ func NewServer(cfg config.Config) http.Handler {
}
}
api := platform.NewHandler(platform.NewService(store))
return static.Handler(cfg.StaticDir, api)
return withRequestTimeout(static.Handler(cfg.StaticDir, api), cfg.RequestTimeout)
}
func withRequestTimeout(next http.Handler, timeout time.Duration) http.Handler {
if timeout <= 0 {
return next
}
return http.TimeoutHandler(next, timeout, `{"error":{"code":"REQUEST_TIMEOUT","message":"请求处理超时"},"traceId":"timeout","timestamp":0}`)
}