pub struct HTTPRouteRulesTimeouts {
pub backend_request: Option<String>,
pub request: Option<String>,
}
Expand description
Timeouts defines the timeouts that can be configured for an HTTP request.
Support: Extended
Fields§
§backend_request: Option<String>
BackendRequest specifies a timeout for an individual request from the gateway to a backend. This covers the time from when the request first starts being sent from the gateway to when the full response has been received from the backend.
Setting a timeout to the zero duration (e.g. “0s”) SHOULD disable the timeout completely. Implementations that cannot completely disable the timeout MUST instead interpret the zero duration as the longest possible value to which the timeout can be set.
An entire client HTTP transaction with a gateway, covered by the Request timeout, may result in more than one call from the gateway to the destination backend, for example, if automatic retries are supported.
The value of BackendRequest must be a Gateway API Duration string as defined by GEP-2257. When this field is unspecified, its behavior is implementation-specific; when specified, the value of BackendRequest must be no more than the value of the Request timeout (since the Request timeout encompasses the BackendRequest timeout).
Support: Extended
request: Option<String>
Request specifies the maximum duration for a gateway to respond to an HTTP request. If the gateway has not been able to respond before this deadline is met, the gateway MUST return a timeout error.
For example, setting the rules.timeouts.request
field to the value 10s
in an
HTTPRoute
will cause a timeout if a client request is taking longer than 10 seconds
to complete.
Setting a timeout to the zero duration (e.g. “0s”) SHOULD disable the timeout completely. Implementations that cannot completely disable the timeout MUST instead interpret the zero duration as the longest possible value to which the timeout can be set.
This timeout is intended to cover as close to the whole request-response transaction as possible although an implementation MAY choose to start the timeout after the entire request stream has been received instead of immediately after the transaction is initiated by the client.
The value of Request is a Gateway API Duration string as defined by GEP-2257. When this field is unspecified, request timeout behavior is implementation-specific.
Support: Extended
Trait Implementations§
Source§impl Clone for HTTPRouteRulesTimeouts
impl Clone for HTTPRouteRulesTimeouts
Source§fn clone(&self) -> HTTPRouteRulesTimeouts
fn clone(&self) -> HTTPRouteRulesTimeouts
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for HTTPRouteRulesTimeouts
impl Debug for HTTPRouteRulesTimeouts
Source§impl Default for HTTPRouteRulesTimeouts
impl Default for HTTPRouteRulesTimeouts
Source§fn default() -> HTTPRouteRulesTimeouts
fn default() -> HTTPRouteRulesTimeouts
Source§impl<'de> Deserialize<'de> for HTTPRouteRulesTimeouts
impl<'de> Deserialize<'de> for HTTPRouteRulesTimeouts
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for HTTPRouteRulesTimeouts
impl JsonSchema for HTTPRouteRulesTimeouts
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref
keyword. Read moreSource§impl PartialEq for HTTPRouteRulesTimeouts
impl PartialEq for HTTPRouteRulesTimeouts
Source§impl Serialize for HTTPRouteRulesTimeouts
impl Serialize for HTTPRouteRulesTimeouts
impl StructuralPartialEq for HTTPRouteRulesTimeouts
Auto Trait Implementations§
impl Freeze for HTTPRouteRulesTimeouts
impl RefUnwindSafe for HTTPRouteRulesTimeouts
impl Send for HTTPRouteRulesTimeouts
impl Sync for HTTPRouteRulesTimeouts
impl Unpin for HTTPRouteRulesTimeouts
impl UnwindSafe for HTTPRouteRulesTimeouts
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more