1 + | // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
2 + | #[allow(clippy::unnecessary_wraps)]
|
3 + | pub fn de_invoke_model_with_bidirectional_stream_http_response(
|
4 + | response: &mut ::aws_smithy_runtime_api::http::Response,
|
5 + | ) -> std::result::Result<
|
6 + | crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamOutput,
|
7 + | crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError,
|
8 + | > {
|
9 + | let mut _response_body = ::aws_smithy_types::body::SdkBody::taken();
|
10 + | std::mem::swap(&mut _response_body, response.body_mut());
|
11 + | let _response_body = &mut _response_body;
|
12 + |
|
13 + | let _response_status = response.status().as_u16();
|
14 + | let _response_headers = response.headers();
|
15 + | Ok({
|
16 + | #[allow(unused_mut)]
|
17 + | let mut output =
|
18 + | crate::operation::invoke_model_with_bidirectional_stream::builders::InvokeModelWithBidirectionalStreamOutputBuilder::default();
|
19 + | output = output.set_body(Some(
|
20 + | crate::protocol_serde::shape_invoke_model_with_bidirectional_stream_output::de_body_payload(_response_body)?,
|
21 + | ));
|
22 + | output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
|
23 + | output
|
24 + | .build()
|
25 + | .map_err(crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::unhandled)?
|
26 + | })
|
27 + | }
|
28 + |
|
29 + | #[allow(clippy::unnecessary_wraps)]
|
30 + | pub fn de_invoke_model_with_bidirectional_stream_http_error(
|
31 + | _response_status: u16,
|
32 + | _response_headers: &::aws_smithy_runtime_api::http::Headers,
|
33 + | _response_body: &[u8],
|
34 + | ) -> std::result::Result<
|
35 + | crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamOutput,
|
36 + | crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError,
|
37 + | > {
|
38 + | #[allow(unused_mut)]
|
39 + | let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
|
40 + | .map_err(crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::unhandled)?;
|
41 + | generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers);
|
42 + | let generic = generic_builder.build();
|
43 + | let error_code = match generic.code() {
|
44 + | Some(code) => code,
|
45 + | None => return Err(crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::unhandled(generic)),
|
46 + | };
|
47 + |
|
48 + | let _error_message = generic.message().map(|msg| msg.to_owned());
|
49 + | Err(match error_code {
|
50 + | "ModelTimeoutException" => {
|
51 + | crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::ModelTimeoutException({
|
52 + | #[allow(unused_mut)]
|
53 + | let mut tmp = {
|
54 + | #[allow(unused_mut)]
|
55 + | let mut output = crate::types::error::builders::ModelTimeoutExceptionBuilder::default();
|
56 + | output = crate::protocol_serde::shape_model_timeout_exception::de_model_timeout_exception_json_err(_response_body, output)
|
57 + | .map_err(crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::unhandled)?;
|
58 + | let output = output.meta(generic);
|
59 + | output.build()
|
60 + | };
|
61 + | if tmp.message.is_none() {
|
62 + | tmp.message = _error_message;
|
63 + | }
|
64 + | tmp
|
65 + | })
|
66 + | }
|
67 + | "AccessDeniedException" => {
|
68 + | crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::AccessDeniedException({
|
69 + | #[allow(unused_mut)]
|
70 + | let mut tmp = {
|
71 + | #[allow(unused_mut)]
|
72 + | let mut output = crate::types::error::builders::AccessDeniedExceptionBuilder::default();
|
73 + | output = crate::protocol_serde::shape_access_denied_exception::de_access_denied_exception_json_err(_response_body, output)
|
74 + | .map_err(crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::unhandled)?;
|
75 + | let output = output.meta(generic);
|
76 + | output.build()
|
77 + | };
|
78 + | if tmp.message.is_none() {
|
79 + | tmp.message = _error_message;
|
80 + | }
|
81 + | tmp
|
82 + | })
|
83 + | }
|
84 + | "ResourceNotFoundException" => {
|
85 + | crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::ResourceNotFoundException({
|
86 + | #[allow(unused_mut)]
|
87 + | let mut tmp = {
|
88 + | #[allow(unused_mut)]
|
89 + | let mut output = crate::types::error::builders::ResourceNotFoundExceptionBuilder::default();
|
90 + | output =
|
91 + | crate::protocol_serde::shape_resource_not_found_exception::de_resource_not_found_exception_json_err(_response_body, output)
|
92 + | .map_err(crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::unhandled)?;
|
93 + | let output = output.meta(generic);
|
94 + | output.build()
|
95 + | };
|
96 + | if tmp.message.is_none() {
|
97 + | tmp.message = _error_message;
|
98 + | }
|
99 + | tmp
|
100 + | })
|
101 + | }
|
102 + | "ThrottlingException" => {
|
103 + | crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::ThrottlingException({
|
104 + | #[allow(unused_mut)]
|
105 + | let mut tmp = {
|
106 + | #[allow(unused_mut)]
|
107 + | let mut output = crate::types::error::builders::ThrottlingExceptionBuilder::default();
|
108 + | output = crate::protocol_serde::shape_throttling_exception::de_throttling_exception_json_err(_response_body, output)
|
109 + | .map_err(crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::unhandled)?;
|
110 + | let output = output.meta(generic);
|
111 + | output.build()
|
112 + | };
|
113 + | if tmp.message.is_none() {
|
114 + | tmp.message = _error_message;
|
115 + | }
|
116 + | tmp
|
117 + | })
|
118 + | }
|
119 + | "ServiceUnavailableException" => {
|
120 + | crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::ServiceUnavailableException({
|
121 + | #[allow(unused_mut)]
|
122 + | let mut tmp = {
|
123 + | #[allow(unused_mut)]
|
124 + | let mut output = crate::types::error::builders::ServiceUnavailableExceptionBuilder::default();
|
125 + | output =
|
126 + | crate::protocol_serde::shape_service_unavailable_exception::de_service_unavailable_exception_json_err(_response_body, output)
|
127 + | .map_err(crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::unhandled)?;
|
128 + | let output = output.meta(generic);
|
129 + | output.build()
|
130 + | };
|
131 + | if tmp.message.is_none() {
|
132 + | tmp.message = _error_message;
|
133 + | }
|
134 + | tmp
|
135 + | })
|
136 + | }
|
137 + | "InternalServerException" => {
|
138 + | crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::InternalServerException({
|
139 + | #[allow(unused_mut)]
|
140 + | let mut tmp = {
|
141 + | #[allow(unused_mut)]
|
142 + | let mut output = crate::types::error::builders::InternalServerExceptionBuilder::default();
|
143 + | output = crate::protocol_serde::shape_internal_server_exception::de_internal_server_exception_json_err(_response_body, output)
|
144 + | .map_err(crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::unhandled)?;
|
145 + | let output = output.meta(generic);
|
146 + | output.build()
|
147 + | };
|
148 + | if tmp.message.is_none() {
|
149 + | tmp.message = _error_message;
|
150 + | }
|
151 + | tmp
|
152 + | })
|
153 + | }
|
154 + | "ModelStreamErrorException" => {
|
155 + | crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::ModelStreamErrorException({
|
156 + | #[allow(unused_mut)]
|
157 + | let mut tmp = {
|
158 + | #[allow(unused_mut)]
|
159 + | let mut output = crate::types::error::builders::ModelStreamErrorExceptionBuilder::default();
|
160 + | output =
|
161 + | crate::protocol_serde::shape_model_stream_error_exception::de_model_stream_error_exception_json_err(_response_body, output)
|
162 + | .map_err(crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::unhandled)?;
|
163 + | let output = output.meta(generic);
|
164 + | output.build()
|
165 + | };
|
166 + | if tmp.message.is_none() {
|
167 + | tmp.message = _error_message;
|
168 + | }
|
169 + | tmp
|
170 + | })
|
171 + | }
|
172 + | "ValidationException" => {
|
173 + | crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::ValidationException({
|
174 + | #[allow(unused_mut)]
|
175 + | let mut tmp = {
|
176 + | #[allow(unused_mut)]
|
177 + | let mut output = crate::types::error::builders::ValidationExceptionBuilder::default();
|
178 + | output = crate::protocol_serde::shape_validation_exception::de_validation_exception_json_err(_response_body, output)
|
179 + | .map_err(crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::unhandled)?;
|
180 + | let output = output.meta(generic);
|
181 + | output.build()
|
182 + | };
|
183 + | if tmp.message.is_none() {
|
184 + | tmp.message = _error_message;
|
185 + | }
|
186 + | tmp
|
187 + | })
|
188 + | }
|
189 + | "ModelNotReadyException" => {
|
190 + | crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::ModelNotReadyException({
|
191 + | #[allow(unused_mut)]
|
192 + | let mut tmp = {
|
193 + | #[allow(unused_mut)]
|
194 + | let mut output = crate::types::error::builders::ModelNotReadyExceptionBuilder::default();
|
195 + | output = crate::protocol_serde::shape_model_not_ready_exception::de_model_not_ready_exception_json_err(_response_body, output)
|
196 + | .map_err(crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::unhandled)?;
|
197 + | let output = output.meta(generic);
|
198 + | output.build()
|
199 + | };
|
200 + | if tmp.message.is_none() {
|
201 + | tmp.message = _error_message;
|
202 + | }
|
203 + | tmp
|
204 + | })
|
205 + | }
|
206 + | "ModelErrorException" => {
|
207 + | crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::ModelErrorException({
|
208 + | #[allow(unused_mut)]
|
209 + | let mut tmp = {
|
210 + | #[allow(unused_mut)]
|
211 + | let mut output = crate::types::error::builders::ModelErrorExceptionBuilder::default();
|
212 + | output = crate::protocol_serde::shape_model_error_exception::de_model_error_exception_json_err(_response_body, output)
|
213 + | .map_err(crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::unhandled)?;
|
214 + | let output = output.meta(generic);
|
215 + | output.build()
|
216 + | };
|
217 + | if tmp.message.is_none() {
|
218 + | tmp.message = _error_message;
|
219 + | }
|
220 + | tmp
|
221 + | })
|
222 + | }
|
223 + | "ServiceQuotaExceededException" => {
|
224 + | crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::ServiceQuotaExceededException({
|
225 + | #[allow(unused_mut)]
|
226 + | let mut tmp = {
|
227 + | #[allow(unused_mut)]
|
228 + | let mut output = crate::types::error::builders::ServiceQuotaExceededExceptionBuilder::default();
|
229 + | output = crate::protocol_serde::shape_service_quota_exceeded_exception::de_service_quota_exceeded_exception_json_err(
|
230 + | _response_body,
|
231 + | output,
|
232 + | )
|
233 + | .map_err(crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::unhandled)?;
|
234 + | let output = output.meta(generic);
|
235 + | output.build()
|
236 + | };
|
237 + | if tmp.message.is_none() {
|
238 + | tmp.message = _error_message;
|
239 + | }
|
240 + | tmp
|
241 + | })
|
242 + | }
|
243 + | _ => crate::operation::invoke_model_with_bidirectional_stream::InvokeModelWithBidirectionalStreamError::generic(generic),
|
244 + | })
|
245 + | }
|