Struct aws_sdk_s3::model::stats_event::Builder
source · pub struct Builder { /* private fields */ }
Expand description
A builder for StatsEvent
.
Implementations§
source§impl Builder
impl Builder
sourcepub fn set_details(self, input: Option<Stats>) -> Self
pub fn set_details(self, input: Option<Stats>) -> Self
The Stats event details.
Examples found in repository?
src/event_stream_serde.rs (lines 44-54)
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 build(self) -> StatsEvent
pub fn build(self) -> StatsEvent
Consumes the builder and constructs a StatsEvent
.
Examples found in repository?
src/event_stream_serde.rs (line 56)
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),
));
}
}
}