use default value when the specified timeout is 0s
This commit is contained in:
@@ -69,7 +69,10 @@ func WithRequestDeadline(handler http.Handler, longRunning request.LongRunningRe
|
||||
return
|
||||
}
|
||||
|
||||
timeout = userSpecifiedTimeout
|
||||
// if the user has specified a timeout of 0s, this means no timeout, so we should use the maximum timeout allowed.
|
||||
if userSpecifiedTimeout != 0 {
|
||||
timeout = userSpecifiedTimeout
|
||||
}
|
||||
}
|
||||
|
||||
ctx, cancel := context.WithTimeout(ctx, timeout)
|
||||
|
@@ -94,6 +94,15 @@ func TestWithRequestDeadline(t *testing.T) {
|
||||
deadlineExpected: 14 * time.Second, // to account for the delay in verification
|
||||
statusCodeExpected: http.StatusOK,
|
||||
},
|
||||
{
|
||||
name: "the specified timeout is 0s, default deadline is expected to be set",
|
||||
requestURL: "/api/v1/namespaces?timeout=0s",
|
||||
longRunning: false,
|
||||
handlerCallCountExpected: 1,
|
||||
hasDeadlineExpected: true,
|
||||
deadlineExpected: requestTimeoutMaximum - time.Second, // to account for the delay in verification
|
||||
statusCodeExpected: http.StatusOK,
|
||||
},
|
||||
{
|
||||
name: "the user does not specify any request timeout, default deadline is expected to be set",
|
||||
requestURL: "/api/v1/namespaces?timeout=",
|
||||
|
Reference in New Issue
Block a user