Skip to content

Commit 8ab4e18

Browse files
authored
Merge pull request #2388 from frankbu/gep-1742-update
Update GEP-1742 with latest comments from go apis
2 parents fbf2230 + dcaa9d5 commit 8ab4e18

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

geps/gep-1742.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -390,11 +390,14 @@ type HTTPRouteRule struct {
390390
}
391391

392392
// HTTPRouteTimeouts defines timeouts that can be configured for an HTTPRoute.
393-
// Timeout values are formatted like 1h/1m/1s/1ms, as specified in GEP-2257,
394-
// and MUST BE >= 1ms or "0s" to disable (no timeout).
393+
// Timeout values are represented with Gateway API Duration formatting.
394+
// Specifying a zero value such as "0s" is interpreted as no timeout.
395+
//
396+
// +kubebuilder:validation:XValidation:message="backendRequest timeout cannot be longer than request timeout",rule="!(has(self.request) && has(self.backendRequest) && duration(self.request) != duration('0s') && duration(self.backendRequest) > duration(self.request))"
395397
type HTTPRouteTimeouts struct {
396-
// Request specifies the duration for processing an HTTP client request after which the
397-
// gateway will time out if unable to send a response.
398+
// Request specifies the maximum duration for a gateway to respond to an HTTP request.
399+
// If the gateway has not been able to respond before this deadline is met, the gateway
400+
// MUST return a timeout error.
398401
//
399402
// For example, setting the `rules.timeouts.request` field to the value `10s` in an
400403
// `HTTPRoute` will cause a timeout if a client request is taking longer than 10 seconds
@@ -405,19 +408,19 @@ type HTTPRouteTimeouts struct {
405408
// request stream has been received instead of immediately after the transaction is
406409
// initiated by the client.
407410
//
408-
// When this field is unspecified, request timeout behavior is implementation-dependent.
411+
// When this field is unspecified, request timeout behavior is implementation-specific.
409412
//
410413
// Support: Extended
411414
//
412415
// +optional
413416
Request *Duration `json:"request,omitempty"`
414417

415418
// BackendRequest specifies a timeout for an individual request from the gateway
416-
// to a backend service. This covers the time from when the request first starts being
419+
// to a backend. This covers the time from when the request first starts being
417420
// sent from the gateway to when the full response has been received from the backend.
418421
//
419422
// An entire client HTTP transaction with a gateway, covered by the Request timeout,
420-
// may result in more than one call from the gateway to the destination backend service,
423+
// may result in more than one call from the gateway to the destination backend,
421424
// for example, if automatic retries are supported.
422425
//
423426
// Because the Request timeout encompasses the BackendRequest timeout, the value of

0 commit comments

Comments
 (0)