@@ -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))"
395397type 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