pub struct Http3ProtocolOptions {
pub quic_protocol_options: Option<QuicProtocolOptions>,
pub override_stream_error_on_invalid_http_message: Option<BoolValue>,
pub allow_extended_connect: bool,
pub allow_metadata: bool,
}
Expand description
A message which allows using HTTP/3. [#next-free-field: 7]
Fields§
§quic_protocol_options: Option<QuicProtocolOptions>
§override_stream_error_on_invalid_http_message: Option<BoolValue>
Allows invalid HTTP messaging and headers. When this option is disabled (default), then the whole HTTP/3 connection is terminated upon receiving invalid HEADERS frame. However, when this option is enabled, only the offending stream is terminated.
If set, this overrides any HCM :ref:stream_error_on_invalid_http_messaging <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message>
.
allow_extended_connect: bool
Allows proxying Websocket and other upgrades over HTTP/3 CONNECT using
the header mechanisms from the HTTP/2 extended connect RFC <<https://datatracker.ietf.org/doc/html/rfc8441>
>
and settings proposed for HTTP/3 <<https://datatracker.ietf.org/doc/draft-ietf-httpbis-h3-websockets/>
>
Note that HTTP/3 CONNECT is not yet an RFC.
allow_metadata: bool
[#not-implemented-hide:] Hiding until Envoy has full metadata support. Still under implementation. DO NOT USE.
Allows sending and receiving HTTP/3 METADATA frames. See metadata docs for more information.
Trait Implementations§
Source§impl Clone for Http3ProtocolOptions
impl Clone for Http3ProtocolOptions
Source§fn clone(&self) -> Http3ProtocolOptions
fn clone(&self) -> Http3ProtocolOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for Http3ProtocolOptions
impl Debug for Http3ProtocolOptions
Source§impl Default for Http3ProtocolOptions
impl Default for Http3ProtocolOptions
Source§impl Message for Http3ProtocolOptions
impl Message for Http3ProtocolOptions
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.Source§impl Name for Http3ProtocolOptions
impl Name for Http3ProtocolOptions
Source§const NAME: &'static str = "Http3ProtocolOptions"
const NAME: &'static str = "Http3ProtocolOptions"
Message
.
This name is the same as it appears in the source .proto file, e.g. FooBar
.Source§const PACKAGE: &'static str = "envoy.config.core.v3"
const PACKAGE: &'static str = "envoy.config.core.v3"
.
, e.g. google.protobuf
.Source§fn full_name() -> String
fn full_name() -> String
Message
.
It’s prefixed with the package name and names of any parent messages,
e.g. google.rpc.BadRequest.FieldViolation
.
By default, this is the package name followed by the message name.
Fully-qualified names must be unique within a domain of Type URLs.Source§impl PartialEq for Http3ProtocolOptions
impl PartialEq for Http3ProtocolOptions
impl StructuralPartialEq for Http3ProtocolOptions
Auto Trait Implementations§
impl Freeze for Http3ProtocolOptions
impl RefUnwindSafe for Http3ProtocolOptions
impl Send for Http3ProtocolOptions
impl Sync for Http3ProtocolOptions
impl Unpin for Http3ProtocolOptions
impl UnwindSafe for Http3ProtocolOptions
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request