serializers.go raw
1 // Code generated by smithy-go-codegen DO NOT EDIT.
2
3 package signin
4
5 import (
6 "bytes"
7 "context"
8 "fmt"
9 "github.com/aws/aws-sdk-go-v2/service/signin/types"
10 smithy "github.com/aws/smithy-go"
11 "github.com/aws/smithy-go/encoding/httpbinding"
12 smithyjson "github.com/aws/smithy-go/encoding/json"
13 "github.com/aws/smithy-go/middleware"
14 "github.com/aws/smithy-go/tracing"
15 smithyhttp "github.com/aws/smithy-go/transport/http"
16 )
17
18 type awsRestjson1_serializeOpCreateOAuth2Token struct {
19 }
20
21 func (*awsRestjson1_serializeOpCreateOAuth2Token) ID() string {
22 return "OperationSerializer"
23 }
24
25 func (m *awsRestjson1_serializeOpCreateOAuth2Token) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
26 out middleware.SerializeOutput, metadata middleware.Metadata, err error,
27 ) {
28 _, span := tracing.StartSpan(ctx, "OperationSerializer")
29 endTimer := startMetricTimer(ctx, "client.call.serialization_duration")
30 defer endTimer()
31 defer span.End()
32 request, ok := in.Request.(*smithyhttp.Request)
33 if !ok {
34 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
35 }
36
37 input, ok := in.Parameters.(*CreateOAuth2TokenInput)
38 _ = input
39 if !ok {
40 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
41 }
42
43 opPath, opQuery := httpbinding.SplitURI("/v1/token")
44 request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
45 request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
46 request.Method = "POST"
47 var restEncoder *httpbinding.Encoder
48 if request.URL.RawPath == "" {
49 restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
50 } else {
51 request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
52 restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
53 }
54
55 if err != nil {
56 return out, metadata, &smithy.SerializationError{Err: err}
57 }
58
59 if !restEncoder.HasHeader("Content-Type") {
60 ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
61 restEncoder.SetHeader("Content-Type").String("application/json")
62 }
63
64 if input.TokenInput != nil {
65 jsonEncoder := smithyjson.NewEncoder()
66 if err := awsRestjson1_serializeDocumentCreateOAuth2TokenRequestBody(input.TokenInput, jsonEncoder.Value); err != nil {
67 return out, metadata, &smithy.SerializationError{Err: err}
68 }
69 payload := bytes.NewReader(jsonEncoder.Bytes())
70 if request, err = request.SetStream(payload); err != nil {
71 return out, metadata, &smithy.SerializationError{Err: err}
72 }
73 } else {
74 jsonEncoder := smithyjson.NewEncoder()
75 jsonEncoder.Value.Object().Close()
76 payload := bytes.NewReader(jsonEncoder.Bytes())
77 if request, err = request.SetStream(payload); err != nil {
78 return out, metadata, &smithy.SerializationError{Err: err}
79 }
80
81 }
82
83 if request.Request, err = restEncoder.Encode(request.Request); err != nil {
84 return out, metadata, &smithy.SerializationError{Err: err}
85 }
86 in.Request = request
87
88 endTimer()
89 span.End()
90 return next.HandleSerialize(ctx, in)
91 }
92 func awsRestjson1_serializeOpHttpBindingsCreateOAuth2TokenInput(v *CreateOAuth2TokenInput, encoder *httpbinding.Encoder) error {
93 if v == nil {
94 return fmt.Errorf("unsupported serialization of nil %T", v)
95 }
96
97 return nil
98 }
99
100 func awsRestjson1_serializeDocumentCreateOAuth2TokenRequestBody(v *types.CreateOAuth2TokenRequestBody, value smithyjson.Value) error {
101 object := value.Object()
102 defer object.Close()
103
104 if v.ClientId != nil {
105 ok := object.Key("clientId")
106 ok.String(*v.ClientId)
107 }
108
109 if v.Code != nil {
110 ok := object.Key("code")
111 ok.String(*v.Code)
112 }
113
114 if v.CodeVerifier != nil {
115 ok := object.Key("codeVerifier")
116 ok.String(*v.CodeVerifier)
117 }
118
119 if v.GrantType != nil {
120 ok := object.Key("grantType")
121 ok.String(*v.GrantType)
122 }
123
124 if v.RedirectUri != nil {
125 ok := object.Key("redirectUri")
126 ok.String(*v.RedirectUri)
127 }
128
129 if v.RefreshToken != nil {
130 ok := object.Key("refreshToken")
131 ok.String(*v.RefreshToken)
132 }
133
134 return nil
135 }
136