service/geoplaces/serializers.go (1,114 lines of code) (raw):
// Code generated by smithy-go-codegen DO NOT EDIT.
package geoplaces
import (
"bytes"
"context"
"fmt"
"github.com/aws/aws-sdk-go-v2/service/geoplaces/types"
smithy "github.com/aws/smithy-go"
"github.com/aws/smithy-go/encoding/httpbinding"
smithyjson "github.com/aws/smithy-go/encoding/json"
"github.com/aws/smithy-go/middleware"
"github.com/aws/smithy-go/tracing"
smithyhttp "github.com/aws/smithy-go/transport/http"
"math"
)
type awsRestjson1_serializeOpAutocomplete struct {
}
func (*awsRestjson1_serializeOpAutocomplete) ID() string {
return "OperationSerializer"
}
func (m *awsRestjson1_serializeOpAutocomplete) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
out middleware.SerializeOutput, metadata middleware.Metadata, err error,
) {
_, span := tracing.StartSpan(ctx, "OperationSerializer")
endTimer := startMetricTimer(ctx, "client.call.serialization_duration")
defer endTimer()
defer span.End()
request, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
}
input, ok := in.Parameters.(*AutocompleteInput)
_ = input
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
}
opPath, opQuery := httpbinding.SplitURI("/autocomplete")
request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
request.Method = "POST"
var restEncoder *httpbinding.Encoder
if request.URL.RawPath == "" {
restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
} else {
request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
}
if err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if err := awsRestjson1_serializeOpHttpBindingsAutocompleteInput(input, restEncoder); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
restEncoder.SetHeader("Content-Type").String("application/json")
jsonEncoder := smithyjson.NewEncoder()
if err := awsRestjson1_serializeOpDocumentAutocompleteInput(input, jsonEncoder.Value); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if request.Request, err = restEncoder.Encode(request.Request); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
in.Request = request
endTimer()
span.End()
return next.HandleSerialize(ctx, in)
}
func awsRestjson1_serializeOpHttpBindingsAutocompleteInput(v *AutocompleteInput, encoder *httpbinding.Encoder) error {
if v == nil {
return fmt.Errorf("unsupported serialization of nil %T", v)
}
if v.Key != nil {
encoder.SetQuery("key").String(*v.Key)
}
return nil
}
func awsRestjson1_serializeOpDocumentAutocompleteInput(v *AutocompleteInput, value smithyjson.Value) error {
object := value.Object()
defer object.Close()
if v.AdditionalFeatures != nil {
ok := object.Key("AdditionalFeatures")
if err := awsRestjson1_serializeDocumentAutocompleteAdditionalFeatureList(v.AdditionalFeatures, ok); err != nil {
return err
}
}
if v.BiasPosition != nil {
ok := object.Key("BiasPosition")
if err := awsRestjson1_serializeDocumentPosition(v.BiasPosition, ok); err != nil {
return err
}
}
if v.Filter != nil {
ok := object.Key("Filter")
if err := awsRestjson1_serializeDocumentAutocompleteFilter(v.Filter, ok); err != nil {
return err
}
}
if len(v.IntendedUse) > 0 {
ok := object.Key("IntendedUse")
ok.String(string(v.IntendedUse))
}
if v.Language != nil {
ok := object.Key("Language")
ok.String(*v.Language)
}
if v.MaxResults != nil {
ok := object.Key("MaxResults")
ok.Integer(*v.MaxResults)
}
if v.PoliticalView != nil {
ok := object.Key("PoliticalView")
ok.String(*v.PoliticalView)
}
if len(v.PostalCodeMode) > 0 {
ok := object.Key("PostalCodeMode")
ok.String(string(v.PostalCodeMode))
}
if v.QueryText != nil {
ok := object.Key("QueryText")
ok.String(*v.QueryText)
}
return nil
}
type awsRestjson1_serializeOpGeocode struct {
}
func (*awsRestjson1_serializeOpGeocode) ID() string {
return "OperationSerializer"
}
func (m *awsRestjson1_serializeOpGeocode) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
out middleware.SerializeOutput, metadata middleware.Metadata, err error,
) {
_, span := tracing.StartSpan(ctx, "OperationSerializer")
endTimer := startMetricTimer(ctx, "client.call.serialization_duration")
defer endTimer()
defer span.End()
request, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
}
input, ok := in.Parameters.(*GeocodeInput)
_ = input
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
}
opPath, opQuery := httpbinding.SplitURI("/geocode")
request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
request.Method = "POST"
var restEncoder *httpbinding.Encoder
if request.URL.RawPath == "" {
restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
} else {
request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
}
if err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if err := awsRestjson1_serializeOpHttpBindingsGeocodeInput(input, restEncoder); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
restEncoder.SetHeader("Content-Type").String("application/json")
jsonEncoder := smithyjson.NewEncoder()
if err := awsRestjson1_serializeOpDocumentGeocodeInput(input, jsonEncoder.Value); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if request.Request, err = restEncoder.Encode(request.Request); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
in.Request = request
endTimer()
span.End()
return next.HandleSerialize(ctx, in)
}
func awsRestjson1_serializeOpHttpBindingsGeocodeInput(v *GeocodeInput, encoder *httpbinding.Encoder) error {
if v == nil {
return fmt.Errorf("unsupported serialization of nil %T", v)
}
if v.Key != nil {
encoder.SetQuery("key").String(*v.Key)
}
return nil
}
func awsRestjson1_serializeOpDocumentGeocodeInput(v *GeocodeInput, value smithyjson.Value) error {
object := value.Object()
defer object.Close()
if v.AdditionalFeatures != nil {
ok := object.Key("AdditionalFeatures")
if err := awsRestjson1_serializeDocumentGeocodeAdditionalFeatureList(v.AdditionalFeatures, ok); err != nil {
return err
}
}
if v.BiasPosition != nil {
ok := object.Key("BiasPosition")
if err := awsRestjson1_serializeDocumentPosition(v.BiasPosition, ok); err != nil {
return err
}
}
if v.Filter != nil {
ok := object.Key("Filter")
if err := awsRestjson1_serializeDocumentGeocodeFilter(v.Filter, ok); err != nil {
return err
}
}
if len(v.IntendedUse) > 0 {
ok := object.Key("IntendedUse")
ok.String(string(v.IntendedUse))
}
if v.Language != nil {
ok := object.Key("Language")
ok.String(*v.Language)
}
if v.MaxResults != nil {
ok := object.Key("MaxResults")
ok.Integer(*v.MaxResults)
}
if v.PoliticalView != nil {
ok := object.Key("PoliticalView")
ok.String(*v.PoliticalView)
}
if v.QueryComponents != nil {
ok := object.Key("QueryComponents")
if err := awsRestjson1_serializeDocumentGeocodeQueryComponents(v.QueryComponents, ok); err != nil {
return err
}
}
if v.QueryText != nil {
ok := object.Key("QueryText")
ok.String(*v.QueryText)
}
return nil
}
type awsRestjson1_serializeOpGetPlace struct {
}
func (*awsRestjson1_serializeOpGetPlace) ID() string {
return "OperationSerializer"
}
func (m *awsRestjson1_serializeOpGetPlace) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
out middleware.SerializeOutput, metadata middleware.Metadata, err error,
) {
_, span := tracing.StartSpan(ctx, "OperationSerializer")
endTimer := startMetricTimer(ctx, "client.call.serialization_duration")
defer endTimer()
defer span.End()
request, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
}
input, ok := in.Parameters.(*GetPlaceInput)
_ = input
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
}
opPath, opQuery := httpbinding.SplitURI("/place/{PlaceId}")
request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
request.Method = "GET"
var restEncoder *httpbinding.Encoder
if request.URL.RawPath == "" {
restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
} else {
request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
}
if err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if err := awsRestjson1_serializeOpHttpBindingsGetPlaceInput(input, restEncoder); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if request.Request, err = restEncoder.Encode(request.Request); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
in.Request = request
endTimer()
span.End()
return next.HandleSerialize(ctx, in)
}
func awsRestjson1_serializeOpHttpBindingsGetPlaceInput(v *GetPlaceInput, encoder *httpbinding.Encoder) error {
if v == nil {
return fmt.Errorf("unsupported serialization of nil %T", v)
}
if v.AdditionalFeatures != nil {
for i := range v.AdditionalFeatures {
encoder.AddQuery("additional-features").String(string(v.AdditionalFeatures[i]))
}
}
if len(v.IntendedUse) > 0 {
encoder.SetQuery("intended-use").String(string(v.IntendedUse))
}
if v.Key != nil {
encoder.SetQuery("key").String(*v.Key)
}
if v.Language != nil {
encoder.SetQuery("language").String(*v.Language)
}
if v.PlaceId == nil || len(*v.PlaceId) == 0 {
return &smithy.SerializationError{Err: fmt.Errorf("input member PlaceId must not be empty")}
}
if v.PlaceId != nil {
if err := encoder.SetURI("PlaceId").String(*v.PlaceId); err != nil {
return err
}
}
if v.PoliticalView != nil {
encoder.SetQuery("political-view").String(*v.PoliticalView)
}
return nil
}
type awsRestjson1_serializeOpReverseGeocode struct {
}
func (*awsRestjson1_serializeOpReverseGeocode) ID() string {
return "OperationSerializer"
}
func (m *awsRestjson1_serializeOpReverseGeocode) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
out middleware.SerializeOutput, metadata middleware.Metadata, err error,
) {
_, span := tracing.StartSpan(ctx, "OperationSerializer")
endTimer := startMetricTimer(ctx, "client.call.serialization_duration")
defer endTimer()
defer span.End()
request, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
}
input, ok := in.Parameters.(*ReverseGeocodeInput)
_ = input
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
}
opPath, opQuery := httpbinding.SplitURI("/reverse-geocode")
request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
request.Method = "POST"
var restEncoder *httpbinding.Encoder
if request.URL.RawPath == "" {
restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
} else {
request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
}
if err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if err := awsRestjson1_serializeOpHttpBindingsReverseGeocodeInput(input, restEncoder); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
restEncoder.SetHeader("Content-Type").String("application/json")
jsonEncoder := smithyjson.NewEncoder()
if err := awsRestjson1_serializeOpDocumentReverseGeocodeInput(input, jsonEncoder.Value); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if request.Request, err = restEncoder.Encode(request.Request); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
in.Request = request
endTimer()
span.End()
return next.HandleSerialize(ctx, in)
}
func awsRestjson1_serializeOpHttpBindingsReverseGeocodeInput(v *ReverseGeocodeInput, encoder *httpbinding.Encoder) error {
if v == nil {
return fmt.Errorf("unsupported serialization of nil %T", v)
}
if v.Key != nil {
encoder.SetQuery("key").String(*v.Key)
}
return nil
}
func awsRestjson1_serializeOpDocumentReverseGeocodeInput(v *ReverseGeocodeInput, value smithyjson.Value) error {
object := value.Object()
defer object.Close()
if v.AdditionalFeatures != nil {
ok := object.Key("AdditionalFeatures")
if err := awsRestjson1_serializeDocumentReverseGeocodeAdditionalFeatureList(v.AdditionalFeatures, ok); err != nil {
return err
}
}
if v.Filter != nil {
ok := object.Key("Filter")
if err := awsRestjson1_serializeDocumentReverseGeocodeFilter(v.Filter, ok); err != nil {
return err
}
}
if len(v.IntendedUse) > 0 {
ok := object.Key("IntendedUse")
ok.String(string(v.IntendedUse))
}
if v.Language != nil {
ok := object.Key("Language")
ok.String(*v.Language)
}
if v.MaxResults != nil {
ok := object.Key("MaxResults")
ok.Integer(*v.MaxResults)
}
if v.PoliticalView != nil {
ok := object.Key("PoliticalView")
ok.String(*v.PoliticalView)
}
if v.QueryPosition != nil {
ok := object.Key("QueryPosition")
if err := awsRestjson1_serializeDocumentPosition(v.QueryPosition, ok); err != nil {
return err
}
}
if v.QueryRadius != nil {
ok := object.Key("QueryRadius")
ok.Long(*v.QueryRadius)
}
return nil
}
type awsRestjson1_serializeOpSearchNearby struct {
}
func (*awsRestjson1_serializeOpSearchNearby) ID() string {
return "OperationSerializer"
}
func (m *awsRestjson1_serializeOpSearchNearby) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
out middleware.SerializeOutput, metadata middleware.Metadata, err error,
) {
_, span := tracing.StartSpan(ctx, "OperationSerializer")
endTimer := startMetricTimer(ctx, "client.call.serialization_duration")
defer endTimer()
defer span.End()
request, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
}
input, ok := in.Parameters.(*SearchNearbyInput)
_ = input
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
}
opPath, opQuery := httpbinding.SplitURI("/search-nearby")
request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
request.Method = "POST"
var restEncoder *httpbinding.Encoder
if request.URL.RawPath == "" {
restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
} else {
request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
}
if err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if err := awsRestjson1_serializeOpHttpBindingsSearchNearbyInput(input, restEncoder); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
restEncoder.SetHeader("Content-Type").String("application/json")
jsonEncoder := smithyjson.NewEncoder()
if err := awsRestjson1_serializeOpDocumentSearchNearbyInput(input, jsonEncoder.Value); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if request.Request, err = restEncoder.Encode(request.Request); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
in.Request = request
endTimer()
span.End()
return next.HandleSerialize(ctx, in)
}
func awsRestjson1_serializeOpHttpBindingsSearchNearbyInput(v *SearchNearbyInput, encoder *httpbinding.Encoder) error {
if v == nil {
return fmt.Errorf("unsupported serialization of nil %T", v)
}
if v.Key != nil {
encoder.SetQuery("key").String(*v.Key)
}
return nil
}
func awsRestjson1_serializeOpDocumentSearchNearbyInput(v *SearchNearbyInput, value smithyjson.Value) error {
object := value.Object()
defer object.Close()
if v.AdditionalFeatures != nil {
ok := object.Key("AdditionalFeatures")
if err := awsRestjson1_serializeDocumentSearchNearbyAdditionalFeatureList(v.AdditionalFeatures, ok); err != nil {
return err
}
}
if v.Filter != nil {
ok := object.Key("Filter")
if err := awsRestjson1_serializeDocumentSearchNearbyFilter(v.Filter, ok); err != nil {
return err
}
}
if len(v.IntendedUse) > 0 {
ok := object.Key("IntendedUse")
ok.String(string(v.IntendedUse))
}
if v.Language != nil {
ok := object.Key("Language")
ok.String(*v.Language)
}
if v.MaxResults != nil {
ok := object.Key("MaxResults")
ok.Integer(*v.MaxResults)
}
if v.NextToken != nil {
ok := object.Key("NextToken")
ok.String(*v.NextToken)
}
if v.PoliticalView != nil {
ok := object.Key("PoliticalView")
ok.String(*v.PoliticalView)
}
if v.QueryPosition != nil {
ok := object.Key("QueryPosition")
if err := awsRestjson1_serializeDocumentPosition(v.QueryPosition, ok); err != nil {
return err
}
}
if v.QueryRadius != nil {
ok := object.Key("QueryRadius")
ok.Long(*v.QueryRadius)
}
return nil
}
type awsRestjson1_serializeOpSearchText struct {
}
func (*awsRestjson1_serializeOpSearchText) ID() string {
return "OperationSerializer"
}
func (m *awsRestjson1_serializeOpSearchText) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
out middleware.SerializeOutput, metadata middleware.Metadata, err error,
) {
_, span := tracing.StartSpan(ctx, "OperationSerializer")
endTimer := startMetricTimer(ctx, "client.call.serialization_duration")
defer endTimer()
defer span.End()
request, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
}
input, ok := in.Parameters.(*SearchTextInput)
_ = input
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
}
opPath, opQuery := httpbinding.SplitURI("/search-text")
request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
request.Method = "POST"
var restEncoder *httpbinding.Encoder
if request.URL.RawPath == "" {
restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
} else {
request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
}
if err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if err := awsRestjson1_serializeOpHttpBindingsSearchTextInput(input, restEncoder); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
restEncoder.SetHeader("Content-Type").String("application/json")
jsonEncoder := smithyjson.NewEncoder()
if err := awsRestjson1_serializeOpDocumentSearchTextInput(input, jsonEncoder.Value); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if request.Request, err = restEncoder.Encode(request.Request); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
in.Request = request
endTimer()
span.End()
return next.HandleSerialize(ctx, in)
}
func awsRestjson1_serializeOpHttpBindingsSearchTextInput(v *SearchTextInput, encoder *httpbinding.Encoder) error {
if v == nil {
return fmt.Errorf("unsupported serialization of nil %T", v)
}
if v.Key != nil {
encoder.SetQuery("key").String(*v.Key)
}
return nil
}
func awsRestjson1_serializeOpDocumentSearchTextInput(v *SearchTextInput, value smithyjson.Value) error {
object := value.Object()
defer object.Close()
if v.AdditionalFeatures != nil {
ok := object.Key("AdditionalFeatures")
if err := awsRestjson1_serializeDocumentSearchTextAdditionalFeatureList(v.AdditionalFeatures, ok); err != nil {
return err
}
}
if v.BiasPosition != nil {
ok := object.Key("BiasPosition")
if err := awsRestjson1_serializeDocumentPosition(v.BiasPosition, ok); err != nil {
return err
}
}
if v.Filter != nil {
ok := object.Key("Filter")
if err := awsRestjson1_serializeDocumentSearchTextFilter(v.Filter, ok); err != nil {
return err
}
}
if len(v.IntendedUse) > 0 {
ok := object.Key("IntendedUse")
ok.String(string(v.IntendedUse))
}
if v.Language != nil {
ok := object.Key("Language")
ok.String(*v.Language)
}
if v.MaxResults != nil {
ok := object.Key("MaxResults")
ok.Integer(*v.MaxResults)
}
if v.NextToken != nil {
ok := object.Key("NextToken")
ok.String(*v.NextToken)
}
if v.PoliticalView != nil {
ok := object.Key("PoliticalView")
ok.String(*v.PoliticalView)
}
if v.QueryId != nil {
ok := object.Key("QueryId")
ok.String(*v.QueryId)
}
if v.QueryText != nil {
ok := object.Key("QueryText")
ok.String(*v.QueryText)
}
return nil
}
type awsRestjson1_serializeOpSuggest struct {
}
func (*awsRestjson1_serializeOpSuggest) ID() string {
return "OperationSerializer"
}
func (m *awsRestjson1_serializeOpSuggest) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
out middleware.SerializeOutput, metadata middleware.Metadata, err error,
) {
_, span := tracing.StartSpan(ctx, "OperationSerializer")
endTimer := startMetricTimer(ctx, "client.call.serialization_duration")
defer endTimer()
defer span.End()
request, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
}
input, ok := in.Parameters.(*SuggestInput)
_ = input
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
}
opPath, opQuery := httpbinding.SplitURI("/suggest")
request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
request.Method = "POST"
var restEncoder *httpbinding.Encoder
if request.URL.RawPath == "" {
restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
} else {
request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
}
if err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if err := awsRestjson1_serializeOpHttpBindingsSuggestInput(input, restEncoder); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
restEncoder.SetHeader("Content-Type").String("application/json")
jsonEncoder := smithyjson.NewEncoder()
if err := awsRestjson1_serializeOpDocumentSuggestInput(input, jsonEncoder.Value); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if request.Request, err = restEncoder.Encode(request.Request); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
in.Request = request
endTimer()
span.End()
return next.HandleSerialize(ctx, in)
}
func awsRestjson1_serializeOpHttpBindingsSuggestInput(v *SuggestInput, encoder *httpbinding.Encoder) error {
if v == nil {
return fmt.Errorf("unsupported serialization of nil %T", v)
}
if v.Key != nil {
encoder.SetQuery("key").String(*v.Key)
}
return nil
}
func awsRestjson1_serializeOpDocumentSuggestInput(v *SuggestInput, value smithyjson.Value) error {
object := value.Object()
defer object.Close()
if v.AdditionalFeatures != nil {
ok := object.Key("AdditionalFeatures")
if err := awsRestjson1_serializeDocumentSuggestAdditionalFeatureList(v.AdditionalFeatures, ok); err != nil {
return err
}
}
if v.BiasPosition != nil {
ok := object.Key("BiasPosition")
if err := awsRestjson1_serializeDocumentPosition(v.BiasPosition, ok); err != nil {
return err
}
}
if v.Filter != nil {
ok := object.Key("Filter")
if err := awsRestjson1_serializeDocumentSuggestFilter(v.Filter, ok); err != nil {
return err
}
}
if len(v.IntendedUse) > 0 {
ok := object.Key("IntendedUse")
ok.String(string(v.IntendedUse))
}
if v.Language != nil {
ok := object.Key("Language")
ok.String(*v.Language)
}
if v.MaxQueryRefinements != nil {
ok := object.Key("MaxQueryRefinements")
ok.Integer(*v.MaxQueryRefinements)
}
if v.MaxResults != nil {
ok := object.Key("MaxResults")
ok.Integer(*v.MaxResults)
}
if v.PoliticalView != nil {
ok := object.Key("PoliticalView")
ok.String(*v.PoliticalView)
}
if v.QueryText != nil {
ok := object.Key("QueryText")
ok.String(*v.QueryText)
}
return nil
}
func awsRestjson1_serializeDocumentAutocompleteAdditionalFeatureList(v []types.AutocompleteAdditionalFeature, value smithyjson.Value) error {
array := value.Array()
defer array.Close()
for i := range v {
av := array.Value()
av.String(string(v[i]))
}
return nil
}
func awsRestjson1_serializeDocumentAutocompleteFilter(v *types.AutocompleteFilter, value smithyjson.Value) error {
object := value.Object()
defer object.Close()
if v.BoundingBox != nil {
ok := object.Key("BoundingBox")
if err := awsRestjson1_serializeDocumentBoundingBox(v.BoundingBox, ok); err != nil {
return err
}
}
if v.Circle != nil {
ok := object.Key("Circle")
if err := awsRestjson1_serializeDocumentFilterCircle(v.Circle, ok); err != nil {
return err
}
}
if v.IncludeCountries != nil {
ok := object.Key("IncludeCountries")
if err := awsRestjson1_serializeDocumentCountryCodeList(v.IncludeCountries, ok); err != nil {
return err
}
}
if v.IncludePlaceTypes != nil {
ok := object.Key("IncludePlaceTypes")
if err := awsRestjson1_serializeDocumentAutocompleteFilterPlaceTypeList(v.IncludePlaceTypes, ok); err != nil {
return err
}
}
return nil
}
func awsRestjson1_serializeDocumentAutocompleteFilterPlaceTypeList(v []types.AutocompleteFilterPlaceType, value smithyjson.Value) error {
array := value.Array()
defer array.Close()
for i := range v {
av := array.Value()
av.String(string(v[i]))
}
return nil
}
func awsRestjson1_serializeDocumentBoundingBox(v []float64, value smithyjson.Value) error {
array := value.Array()
defer array.Close()
for i := range v {
av := array.Value()
switch {
case math.IsNaN(v[i]):
av.String("NaN")
case math.IsInf(v[i], 1):
av.String("Infinity")
case math.IsInf(v[i], -1):
av.String("-Infinity")
default:
av.Double(v[i])
}
}
return nil
}
func awsRestjson1_serializeDocumentCountryCodeList(v []string, value smithyjson.Value) error {
array := value.Array()
defer array.Close()
for i := range v {
av := array.Value()
av.String(v[i])
}
return nil
}
func awsRestjson1_serializeDocumentFilterBusinessChainList(v []string, value smithyjson.Value) error {
array := value.Array()
defer array.Close()
for i := range v {
av := array.Value()
av.String(v[i])
}
return nil
}
func awsRestjson1_serializeDocumentFilterCategoryList(v []string, value smithyjson.Value) error {
array := value.Array()
defer array.Close()
for i := range v {
av := array.Value()
av.String(v[i])
}
return nil
}
func awsRestjson1_serializeDocumentFilterCircle(v *types.FilterCircle, value smithyjson.Value) error {
object := value.Object()
defer object.Close()
if v.Center != nil {
ok := object.Key("Center")
if err := awsRestjson1_serializeDocumentPosition(v.Center, ok); err != nil {
return err
}
}
if v.Radius != nil {
ok := object.Key("Radius")
ok.Long(*v.Radius)
}
return nil
}
func awsRestjson1_serializeDocumentFilterFoodTypeList(v []string, value smithyjson.Value) error {
array := value.Array()
defer array.Close()
for i := range v {
av := array.Value()
av.String(v[i])
}
return nil
}
func awsRestjson1_serializeDocumentGeocodeAdditionalFeatureList(v []types.GeocodeAdditionalFeature, value smithyjson.Value) error {
array := value.Array()
defer array.Close()
for i := range v {
av := array.Value()
av.String(string(v[i]))
}
return nil
}
func awsRestjson1_serializeDocumentGeocodeFilter(v *types.GeocodeFilter, value smithyjson.Value) error {
object := value.Object()
defer object.Close()
if v.IncludeCountries != nil {
ok := object.Key("IncludeCountries")
if err := awsRestjson1_serializeDocumentCountryCodeList(v.IncludeCountries, ok); err != nil {
return err
}
}
if v.IncludePlaceTypes != nil {
ok := object.Key("IncludePlaceTypes")
if err := awsRestjson1_serializeDocumentGeocodeFilterPlaceTypeList(v.IncludePlaceTypes, ok); err != nil {
return err
}
}
return nil
}
func awsRestjson1_serializeDocumentGeocodeFilterPlaceTypeList(v []types.GeocodeFilterPlaceType, value smithyjson.Value) error {
array := value.Array()
defer array.Close()
for i := range v {
av := array.Value()
av.String(string(v[i]))
}
return nil
}
func awsRestjson1_serializeDocumentGeocodeQueryComponents(v *types.GeocodeQueryComponents, value smithyjson.Value) error {
object := value.Object()
defer object.Close()
if v.AddressNumber != nil {
ok := object.Key("AddressNumber")
ok.String(*v.AddressNumber)
}
if v.Country != nil {
ok := object.Key("Country")
ok.String(*v.Country)
}
if v.District != nil {
ok := object.Key("District")
ok.String(*v.District)
}
if v.Locality != nil {
ok := object.Key("Locality")
ok.String(*v.Locality)
}
if v.PostalCode != nil {
ok := object.Key("PostalCode")
ok.String(*v.PostalCode)
}
if v.Region != nil {
ok := object.Key("Region")
ok.String(*v.Region)
}
if v.Street != nil {
ok := object.Key("Street")
ok.String(*v.Street)
}
if v.SubRegion != nil {
ok := object.Key("SubRegion")
ok.String(*v.SubRegion)
}
return nil
}
func awsRestjson1_serializeDocumentPosition(v []float64, value smithyjson.Value) error {
array := value.Array()
defer array.Close()
for i := range v {
av := array.Value()
switch {
case math.IsNaN(v[i]):
av.String("NaN")
case math.IsInf(v[i], 1):
av.String("Infinity")
case math.IsInf(v[i], -1):
av.String("-Infinity")
default:
av.Double(v[i])
}
}
return nil
}
func awsRestjson1_serializeDocumentReverseGeocodeAdditionalFeatureList(v []types.ReverseGeocodeAdditionalFeature, value smithyjson.Value) error {
array := value.Array()
defer array.Close()
for i := range v {
av := array.Value()
av.String(string(v[i]))
}
return nil
}
func awsRestjson1_serializeDocumentReverseGeocodeFilter(v *types.ReverseGeocodeFilter, value smithyjson.Value) error {
object := value.Object()
defer object.Close()
if v.IncludePlaceTypes != nil {
ok := object.Key("IncludePlaceTypes")
if err := awsRestjson1_serializeDocumentReverseGeocodeFilterPlaceTypeList(v.IncludePlaceTypes, ok); err != nil {
return err
}
}
return nil
}
func awsRestjson1_serializeDocumentReverseGeocodeFilterPlaceTypeList(v []types.ReverseGeocodeFilterPlaceType, value smithyjson.Value) error {
array := value.Array()
defer array.Close()
for i := range v {
av := array.Value()
av.String(string(v[i]))
}
return nil
}
func awsRestjson1_serializeDocumentSearchNearbyAdditionalFeatureList(v []types.SearchNearbyAdditionalFeature, value smithyjson.Value) error {
array := value.Array()
defer array.Close()
for i := range v {
av := array.Value()
av.String(string(v[i]))
}
return nil
}
func awsRestjson1_serializeDocumentSearchNearbyFilter(v *types.SearchNearbyFilter, value smithyjson.Value) error {
object := value.Object()
defer object.Close()
if v.BoundingBox != nil {
ok := object.Key("BoundingBox")
if err := awsRestjson1_serializeDocumentBoundingBox(v.BoundingBox, ok); err != nil {
return err
}
}
if v.ExcludeBusinessChains != nil {
ok := object.Key("ExcludeBusinessChains")
if err := awsRestjson1_serializeDocumentFilterBusinessChainList(v.ExcludeBusinessChains, ok); err != nil {
return err
}
}
if v.ExcludeCategories != nil {
ok := object.Key("ExcludeCategories")
if err := awsRestjson1_serializeDocumentFilterCategoryList(v.ExcludeCategories, ok); err != nil {
return err
}
}
if v.ExcludeFoodTypes != nil {
ok := object.Key("ExcludeFoodTypes")
if err := awsRestjson1_serializeDocumentFilterFoodTypeList(v.ExcludeFoodTypes, ok); err != nil {
return err
}
}
if v.IncludeBusinessChains != nil {
ok := object.Key("IncludeBusinessChains")
if err := awsRestjson1_serializeDocumentFilterBusinessChainList(v.IncludeBusinessChains, ok); err != nil {
return err
}
}
if v.IncludeCategories != nil {
ok := object.Key("IncludeCategories")
if err := awsRestjson1_serializeDocumentFilterCategoryList(v.IncludeCategories, ok); err != nil {
return err
}
}
if v.IncludeCountries != nil {
ok := object.Key("IncludeCountries")
if err := awsRestjson1_serializeDocumentCountryCodeList(v.IncludeCountries, ok); err != nil {
return err
}
}
if v.IncludeFoodTypes != nil {
ok := object.Key("IncludeFoodTypes")
if err := awsRestjson1_serializeDocumentFilterFoodTypeList(v.IncludeFoodTypes, ok); err != nil {
return err
}
}
return nil
}
func awsRestjson1_serializeDocumentSearchTextAdditionalFeatureList(v []types.SearchTextAdditionalFeature, value smithyjson.Value) error {
array := value.Array()
defer array.Close()
for i := range v {
av := array.Value()
av.String(string(v[i]))
}
return nil
}
func awsRestjson1_serializeDocumentSearchTextFilter(v *types.SearchTextFilter, value smithyjson.Value) error {
object := value.Object()
defer object.Close()
if v.BoundingBox != nil {
ok := object.Key("BoundingBox")
if err := awsRestjson1_serializeDocumentBoundingBox(v.BoundingBox, ok); err != nil {
return err
}
}
if v.Circle != nil {
ok := object.Key("Circle")
if err := awsRestjson1_serializeDocumentFilterCircle(v.Circle, ok); err != nil {
return err
}
}
if v.IncludeCountries != nil {
ok := object.Key("IncludeCountries")
if err := awsRestjson1_serializeDocumentCountryCodeList(v.IncludeCountries, ok); err != nil {
return err
}
}
return nil
}
func awsRestjson1_serializeDocumentSuggestAdditionalFeatureList(v []types.SuggestAdditionalFeature, value smithyjson.Value) error {
array := value.Array()
defer array.Close()
for i := range v {
av := array.Value()
av.String(string(v[i]))
}
return nil
}
func awsRestjson1_serializeDocumentSuggestFilter(v *types.SuggestFilter, value smithyjson.Value) error {
object := value.Object()
defer object.Close()
if v.BoundingBox != nil {
ok := object.Key("BoundingBox")
if err := awsRestjson1_serializeDocumentBoundingBox(v.BoundingBox, ok); err != nil {
return err
}
}
if v.Circle != nil {
ok := object.Key("Circle")
if err := awsRestjson1_serializeDocumentFilterCircle(v.Circle, ok); err != nil {
return err
}
}
if v.IncludeCountries != nil {
ok := object.Key("IncludeCountries")
if err := awsRestjson1_serializeDocumentCountryCodeList(v.IncludeCountries, ok); err != nil {
return err
}
}
return nil
}