pub fn add_headers_invoke_endpoint(
input: &crate::input::InvokeEndpointInput,
mut builder: http::request::Builder,
) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::error::BuildError> {
if let Some(inner_1) = &input.content_type {
let formatted_2 = inner_1.as_str();
if !formatted_2.is_empty() {
let header_value = formatted_2;
let header_value =
http::header::HeaderValue::try_from(&*header_value).map_err(|err| {
aws_smithy_http::operation::error::BuildError::invalid_field(
"content_type",
format!(
"`{}` cannot be used as a header value: {}",
&header_value, err
),
)
})?;
builder = builder.header("Content-Type", header_value);
}
}
if let Some(inner_3) = &input.accept {
let formatted_4 = inner_3.as_str();
if !formatted_4.is_empty() {
let header_value = formatted_4;
let header_value =
http::header::HeaderValue::try_from(&*header_value).map_err(|err| {
aws_smithy_http::operation::error::BuildError::invalid_field(
"accept",
format!(
"`{}` cannot be used as a header value: {}",
&header_value, err
),
)
})?;
builder = builder.header("Accept", header_value);
}
}
if let Some(inner_5) = &input.custom_attributes {
let formatted_6 = inner_5.as_str();
if !formatted_6.is_empty() {
let header_value = formatted_6;
let header_value =
http::header::HeaderValue::try_from(&*header_value).map_err(|err| {
aws_smithy_http::operation::error::BuildError::invalid_field(
"custom_attributes",
format!(
"`{}` cannot be used as a header value: {}",
&"*** Sensitive Data Redacted ***", err
),
)
})?;
builder = builder.header("X-Amzn-SageMaker-Custom-Attributes", header_value);
}
}
if let Some(inner_7) = &input.target_model {
let formatted_8 = inner_7.as_str();
if !formatted_8.is_empty() {
let header_value = formatted_8;
let header_value =
http::header::HeaderValue::try_from(&*header_value).map_err(|err| {
aws_smithy_http::operation::error::BuildError::invalid_field(
"target_model",
format!(
"`{}` cannot be used as a header value: {}",
&header_value, err
),
)
})?;
builder = builder.header("X-Amzn-SageMaker-Target-Model", header_value);
}
}
if let Some(inner_9) = &input.target_variant {
let formatted_10 = inner_9.as_str();
if !formatted_10.is_empty() {
let header_value = formatted_10;
let header_value =
http::header::HeaderValue::try_from(&*header_value).map_err(|err| {
aws_smithy_http::operation::error::BuildError::invalid_field(
"target_variant",
format!(
"`{}` cannot be used as a header value: {}",
&header_value, err
),
)
})?;
builder = builder.header("X-Amzn-SageMaker-Target-Variant", header_value);
}
}
if let Some(inner_11) = &input.target_container_hostname {
let formatted_12 = inner_11.as_str();
if !formatted_12.is_empty() {
let header_value = formatted_12;
let header_value =
http::header::HeaderValue::try_from(&*header_value).map_err(|err| {
aws_smithy_http::operation::error::BuildError::invalid_field(
"target_container_hostname",
format!(
"`{}` cannot be used as a header value: {}",
&header_value, err
),
)
})?;
builder = builder.header("X-Amzn-SageMaker-Target-Container-Hostname", header_value);
}
}
if let Some(inner_13) = &input.inference_id {
let formatted_14 = inner_13.as_str();
if !formatted_14.is_empty() {
let header_value = formatted_14;
let header_value =
http::header::HeaderValue::try_from(&*header_value).map_err(|err| {
aws_smithy_http::operation::error::BuildError::invalid_field(
"inference_id",
format!(
"`{}` cannot be used as a header value: {}",
&header_value, err
),
)
})?;
builder = builder.header("X-Amzn-SageMaker-Inference-Id", header_value);
}
}
if let Some(inner_15) = &input.enable_explanations {
let formatted_16 = inner_15.as_str();
if !formatted_16.is_empty() {
let header_value = formatted_16;
let header_value =
http::header::HeaderValue::try_from(&*header_value).map_err(|err| {
aws_smithy_http::operation::error::BuildError::invalid_field(
"enable_explanations",
format!(
"`{}` cannot be used as a header value: {}",
&header_value, err
),
)
})?;
builder = builder.header("X-Amzn-SageMaker-Enable-Explanations", header_value);
}
}
Ok(builder)
}
pub fn add_headers_invoke_endpoint_async(
input: &crate::input::InvokeEndpointAsyncInput,
mut builder: http::request::Builder,
) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::error::BuildError> {
if let Some(inner_17) = &input.content_type {
let formatted_18 = inner_17.as_str();
if !formatted_18.is_empty() {
let header_value = formatted_18;
let header_value =
http::header::HeaderValue::try_from(&*header_value).map_err(|err| {
aws_smithy_http::operation::error::BuildError::invalid_field(
"content_type",
format!(
"`{}` cannot be used as a header value: {}",
&header_value, err
),
)
})?;
builder = builder.header("X-Amzn-SageMaker-Content-Type", header_value);
}
}
if let Some(inner_19) = &input.accept {
let formatted_20 = inner_19.as_str();
if !formatted_20.is_empty() {
let header_value = formatted_20;
let header_value =
http::header::HeaderValue::try_from(&*header_value).map_err(|err| {
aws_smithy_http::operation::error::BuildError::invalid_field(
"accept",
format!(
"`{}` cannot be used as a header value: {}",
&header_value, err
),
)
})?;
builder = builder.header("X-Amzn-SageMaker-Accept", header_value);
}
}
if let Some(inner_21) = &input.custom_attributes {
let formatted_22 = inner_21.as_str();
if !formatted_22.is_empty() {
let header_value = formatted_22;
let header_value =
http::header::HeaderValue::try_from(&*header_value).map_err(|err| {
aws_smithy_http::operation::error::BuildError::invalid_field(
"custom_attributes",
format!(
"`{}` cannot be used as a header value: {}",
&"*** Sensitive Data Redacted ***", err
),
)
})?;
builder = builder.header("X-Amzn-SageMaker-Custom-Attributes", header_value);
}
}
if let Some(inner_23) = &input.inference_id {
let formatted_24 = inner_23.as_str();
if !formatted_24.is_empty() {
let header_value = formatted_24;
let header_value =
http::header::HeaderValue::try_from(&*header_value).map_err(|err| {
aws_smithy_http::operation::error::BuildError::invalid_field(
"inference_id",
format!(
"`{}` cannot be used as a header value: {}",
&header_value, err
),
)
})?;
builder = builder.header("X-Amzn-SageMaker-Inference-Id", header_value);
}
}
if let Some(inner_25) = &input.input_location {
let formatted_26 = inner_25.as_str();
if !formatted_26.is_empty() {
let header_value = formatted_26;
let header_value =
http::header::HeaderValue::try_from(&*header_value).map_err(|err| {
aws_smithy_http::operation::error::BuildError::invalid_field(
"input_location",
format!(
"`{}` cannot be used as a header value: {}",
&header_value, err
),
)
})?;
builder = builder.header("X-Amzn-SageMaker-InputLocation", header_value);
}
}
if let Some(inner_27) = &input.request_ttl_seconds {
let mut encoder = aws_smithy_types::primitive::Encoder::from(*inner_27);
let formatted_28 = encoder.encode();
if !formatted_28.is_empty() {
let header_value = formatted_28;
let header_value =
http::header::HeaderValue::try_from(&*header_value).map_err(|err| {
aws_smithy_http::operation::error::BuildError::invalid_field(
"request_ttl_seconds",
format!(
"`{}` cannot be used as a header value: {}",
&header_value, err
),
)
})?;
builder = builder.header("X-Amzn-SageMaker-RequestTTLSeconds", header_value);
}
}
Ok(builder)
}
pub fn deser_payload_invoke_endpoint_invoke_endpoint_output_body(
body: &[u8],
) -> std::result::Result<
std::option::Option<aws_smithy_types::Blob>,
crate::error::InvokeEndpointError,
> {
(!body.is_empty())
.then(|| Ok(aws_smithy_types::Blob::new(body)))
.transpose()
}
pub(crate) fn deser_header_invoke_endpoint_invoke_endpoint_output_content_type(
header_map: &http::HeaderMap,
) -> std::result::Result<
std::option::Option<std::string::String>,
aws_smithy_http::header::ParseError,
> {
let headers = header_map.get_all("Content-Type").iter();
aws_smithy_http::header::one_or_none(headers)
}
pub(crate) fn deser_header_invoke_endpoint_invoke_endpoint_output_custom_attributes(
header_map: &http::HeaderMap,
) -> std::result::Result<
std::option::Option<std::string::String>,
aws_smithy_http::header::ParseError,
> {
let headers = header_map
.get_all("X-Amzn-SageMaker-Custom-Attributes")
.iter();
aws_smithy_http::header::one_or_none(headers)
}
pub(crate) fn deser_header_invoke_endpoint_invoke_endpoint_output_invoked_production_variant(
header_map: &http::HeaderMap,
) -> std::result::Result<
std::option::Option<std::string::String>,
aws_smithy_http::header::ParseError,
> {
let headers = header_map
.get_all("x-Amzn-Invoked-Production-Variant")
.iter();
aws_smithy_http::header::one_or_none(headers)
}
pub(crate) fn deser_header_invoke_endpoint_async_invoke_endpoint_async_output_output_location(
header_map: &http::HeaderMap,
) -> std::result::Result<
std::option::Option<std::string::String>,
aws_smithy_http::header::ParseError,
> {
let headers = header_map.get_all("X-Amzn-SageMaker-OutputLocation").iter();
aws_smithy_http::header::one_or_none(headers)
}