pub enum Http3HeaderSectionError {
Show 22 variants
FieldSectionSizeOverflow {
field_index: usize,
},
InvalidFieldName {
field_index: usize,
},
UppercaseFieldName {
field_index: usize,
},
InvalidFieldValue {
field_index: usize,
},
PseudoFieldAfterRegular {
field_index: usize,
},
PseudoFieldInTrailers {
field_index: usize,
},
InvalidPseudoField {
field_index: usize,
},
DuplicatePseudoField {
field_index: usize,
},
MissingPseudoField {
name: &'static [u8],
},
ConnectionSpecificField {
field_index: usize,
},
InvalidTe {
field_index: usize,
},
DuplicateHost {
field_index: usize,
},
MissingAuthorityOrHost,
InvalidAuthority {
field_index: usize,
},
InvalidHost {
field_index: usize,
},
AuthorityHostMismatch {
authority_field_index: usize,
host_field_index: usize,
},
InvalidMethod {
field_index: usize,
},
InvalidScheme {
field_index: usize,
},
InvalidPath {
field_index: usize,
},
InvalidProtocol {
field_index: usize,
},
InvalidConnectPseudoFields {
field_index: usize,
},
InvalidStatus {
field_index: usize,
},
}Expand description
Failure to semantically validate a decoded HTTP/3 field section.
field_index values identify decoded fields in wire order. They are not byte offsets because
QPACK decoding does not retain a field’s encoded wire offset.
Variants§
FieldSectionSizeOverflow
Adding a decoded field’s RFC 9114 size contribution overflowed u64.
InvalidFieldName
A regular field name is empty or not an HTTP token.
UppercaseFieldName
A regular field name contains an uppercase ASCII byte.
InvalidFieldValue
A field value contains invalid HTTP field-content or leading/trailing whitespace.
PseudoFieldAfterRegular
A pseudo-field follows a regular field.
PseudoFieldInTrailers
A trailer section contains a pseudo-field.
InvalidPseudoField
A pseudo-field is unknown or forbidden for this section context.
DuplicatePseudoField
A pseudo-field repeats an earlier pseudo-field.
MissingPseudoField
A required pseudo-field is absent.
ConnectionSpecificField
A connection-specific field is forbidden in HTTP/3.
InvalidTe
A te field is forbidden here or does not contain only trailers values.
DuplicateHost
A host field repeats an earlier Host field.
MissingAuthorityOrHost
A request has neither a nonempty :authority nor a nonempty Host field.
InvalidAuthority
A :authority value is invalid for the request form.
InvalidHost
A Host field is empty.
AuthorityHostMismatch
:authority and Host are both present but differ.
InvalidMethod
The :method pseudo-field is empty or not an HTTP token.
InvalidScheme
The :scheme pseudo-field is empty or malformed.
InvalidPath
The :path pseudo-field is empty or invalid for an HTTP scheme.
InvalidProtocol
The :protocol pseudo-field is disabled, malformed, or not paired with CONNECT.
InvalidConnectPseudoFields
An ordinary CONNECT request contains :scheme or :path.
InvalidStatus
The :status pseudo-field is malformed, forbidden, or outside the accepted range.
Implementations§
Source§impl Http3HeaderSectionError
impl Http3HeaderSectionError
Sourcepub const fn error_code(self) -> Http3ErrorCode
pub const fn error_code(self) -> Http3ErrorCode
Returns the HTTP/3 application error code required by every semantic field-section error.
Trait Implementations§
Source§impl Clone for Http3HeaderSectionError
impl Clone for Http3HeaderSectionError
impl Copy for Http3HeaderSectionError
Source§impl Debug for Http3HeaderSectionError
impl Debug for Http3HeaderSectionError
Source§impl Display for Http3HeaderSectionError
impl Display for Http3HeaderSectionError
impl Eq for Http3HeaderSectionError
Source§impl Error for Http3HeaderSectionError
impl Error for Http3HeaderSectionError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()