#[non_exhaustive]pub struct SelectObjectContentEventStreamError {
pub kind: SelectObjectContentEventStreamErrorKind,
/* private fields */
}
Expand description
Error type for the SelectObjectContentEventStream
operation.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.kind: SelectObjectContentEventStreamErrorKind
Kind of error that occurred.
Implementations§
source§impl SelectObjectContentEventStreamError
impl SelectObjectContentEventStreamError
sourcepub fn new(kind: SelectObjectContentEventStreamErrorKind, meta: Error) -> Self
pub fn new(kind: SelectObjectContentEventStreamErrorKind, meta: Error) -> Self
Creates a new SelectObjectContentEventStreamError
.
sourcepub fn unhandled(err: impl Into<Box<dyn Error + Send + Sync + 'static>>) -> Self
pub fn unhandled(err: impl Into<Box<dyn Error + Send + Sync + 'static>>) -> Self
Creates the SelectObjectContentEventStreamError::Unhandled
variant from any error type.
Examples found in repository?
src/event_stream_serde.rs (line 96)
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
fn unmarshall(
&self,
message: &aws_smithy_eventstream::frame::Message,
) -> std::result::Result<
aws_smithy_eventstream::frame::UnmarshalledMessage<Self::Output, Self::Error>,
aws_smithy_eventstream::error::Error,
> {
let response_headers = aws_smithy_eventstream::smithy::parse_response_headers(message)?;
match response_headers.message_type.as_str() {
"event" => match response_headers.smithy_type.as_str() {
"Records" => {
let mut builder = crate::model::records_event::Builder::default();
let content_type = response_headers.content_type().unwrap_or_default();
if content_type != "application/octet-stream" {
return Err(aws_smithy_eventstream::error::Error::unmarshalling(format!(
"expected :content-type to be 'application/octet-stream', but was '{}'",
content_type
)));
}
builder = builder.set_payload(Some(aws_smithy_types::Blob::new(
message.payload().as_ref(),
)));
Ok(aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
crate::model::SelectObjectContentEventStream::Records(builder.build()),
))
}
"Stats" => {
let mut builder = crate::model::stats_event::Builder::default();
builder = builder.set_details(Some(
crate::xml_deser::deser_member_com_amazonaws_s3_stats_event_details(
&message.payload()[..],
)
.map_err(|err| {
aws_smithy_eventstream::error::Error::unmarshalling(format!(
"failed to unmarshall details: {}",
err
))
})?,
));
Ok(aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
crate::model::SelectObjectContentEventStream::Stats(builder.build()),
))
}
"Progress" => {
let mut builder = crate::model::progress_event::Builder::default();
builder = builder.set_details(Some(
crate::xml_deser::deser_member_com_amazonaws_s3_progress_event_details(
&message.payload()[..],
)
.map_err(|err| {
aws_smithy_eventstream::error::Error::unmarshalling(format!(
"failed to unmarshall details: {}",
err
))
})?,
));
Ok(aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
crate::model::SelectObjectContentEventStream::Progress(builder.build()),
))
}
"Cont" => Ok(aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
crate::model::SelectObjectContentEventStream::Cont(
crate::model::ContinuationEvent::builder().build(),
),
)),
"End" => Ok(aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
crate::model::SelectObjectContentEventStream::End(
crate::model::EndEvent::builder().build(),
),
)),
_unknown_variant => Ok(aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
crate::model::SelectObjectContentEventStream::Unknown,
)),
},
"exception" => {
let generic =
match crate::xml_deser::parse_event_stream_generic_error(message.payload()) {
Ok(generic) => generic,
Err(err) => {
return Ok(aws_smithy_eventstream::frame::UnmarshalledMessage::Error(
crate::error::SelectObjectContentEventStreamError::unhandled(err),
))
}
};
Ok(aws_smithy_eventstream::frame::UnmarshalledMessage::Error(
crate::error::SelectObjectContentEventStreamError::generic(generic),
))
}
value => {
return Err(aws_smithy_eventstream::error::Error::unmarshalling(
format!("unrecognized :message-type: {}", value),
));
}
}
}
sourcepub fn generic(err: Error) -> Self
pub fn generic(err: Error) -> Self
Creates the SelectObjectContentEventStreamError::Unhandled
variant from a aws_smithy_types::Error
.
Examples found in repository?
src/event_stream_serde.rs (line 101)
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
fn unmarshall(
&self,
message: &aws_smithy_eventstream::frame::Message,
) -> std::result::Result<
aws_smithy_eventstream::frame::UnmarshalledMessage<Self::Output, Self::Error>,
aws_smithy_eventstream::error::Error,
> {
let response_headers = aws_smithy_eventstream::smithy::parse_response_headers(message)?;
match response_headers.message_type.as_str() {
"event" => match response_headers.smithy_type.as_str() {
"Records" => {
let mut builder = crate::model::records_event::Builder::default();
let content_type = response_headers.content_type().unwrap_or_default();
if content_type != "application/octet-stream" {
return Err(aws_smithy_eventstream::error::Error::unmarshalling(format!(
"expected :content-type to be 'application/octet-stream', but was '{}'",
content_type
)));
}
builder = builder.set_payload(Some(aws_smithy_types::Blob::new(
message.payload().as_ref(),
)));
Ok(aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
crate::model::SelectObjectContentEventStream::Records(builder.build()),
))
}
"Stats" => {
let mut builder = crate::model::stats_event::Builder::default();
builder = builder.set_details(Some(
crate::xml_deser::deser_member_com_amazonaws_s3_stats_event_details(
&message.payload()[..],
)
.map_err(|err| {
aws_smithy_eventstream::error::Error::unmarshalling(format!(
"failed to unmarshall details: {}",
err
))
})?,
));
Ok(aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
crate::model::SelectObjectContentEventStream::Stats(builder.build()),
))
}
"Progress" => {
let mut builder = crate::model::progress_event::Builder::default();
builder = builder.set_details(Some(
crate::xml_deser::deser_member_com_amazonaws_s3_progress_event_details(
&message.payload()[..],
)
.map_err(|err| {
aws_smithy_eventstream::error::Error::unmarshalling(format!(
"failed to unmarshall details: {}",
err
))
})?,
));
Ok(aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
crate::model::SelectObjectContentEventStream::Progress(builder.build()),
))
}
"Cont" => Ok(aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
crate::model::SelectObjectContentEventStream::Cont(
crate::model::ContinuationEvent::builder().build(),
),
)),
"End" => Ok(aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
crate::model::SelectObjectContentEventStream::End(
crate::model::EndEvent::builder().build(),
),
)),
_unknown_variant => Ok(aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
crate::model::SelectObjectContentEventStream::Unknown,
)),
},
"exception" => {
let generic =
match crate::xml_deser::parse_event_stream_generic_error(message.payload()) {
Ok(generic) => generic,
Err(err) => {
return Ok(aws_smithy_eventstream::frame::UnmarshalledMessage::Error(
crate::error::SelectObjectContentEventStreamError::unhandled(err),
))
}
};
Ok(aws_smithy_eventstream::frame::UnmarshalledMessage::Error(
crate::error::SelectObjectContentEventStreamError::generic(generic),
))
}
value => {
return Err(aws_smithy_eventstream::error::Error::unmarshalling(
format!("unrecognized :message-type: {}", value),
));
}
}
}
sourcepub fn meta(&self) -> &Error
pub fn meta(&self) -> &Error
Returns error metadata, which includes the error code, message, request ID, and potentially additional information.
sourcepub fn request_id(&self) -> Option<&str>
pub fn request_id(&self) -> Option<&str>
Returns the request ID if it’s available.
Trait Implementations§
source§impl Error for SelectObjectContentEventStreamError
impl Error for SelectObjectContentEventStreamError
source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
source§impl From<SelectObjectContentEventStreamError> for Error
impl From<SelectObjectContentEventStreamError> for Error
source§fn from(err: SelectObjectContentEventStreamError) -> Self
fn from(err: SelectObjectContentEventStreamError) -> Self
Converts to this type from the input type.