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