Files
vctp2/server/handler/request_context.go
Nathan Coad f2d6b3158b
All checks were successful
continuous-integration/drone/push Build is passing
Refactor code to use 'any' type and improve context handling
2026-02-18 16:16:27 +11:00

25 lines
470 B
Go

package handler
import (
"context"
"net/http"
"time"
)
const (
defaultRequestTimeout = 2 * time.Minute
reportRequestTimeout = 10 * time.Minute
longRunningRequestTimeout = 2 * time.Hour
)
func withRequestTimeout(r *http.Request, timeout time.Duration) (context.Context, context.CancelFunc) {
base := context.Background()
if r != nil {
base = r.Context()
}
if timeout <= 0 {
return base, func() {}
}
return context.WithTimeout(base, timeout)
}