serializers.go 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288
  1. // Code generated by smithy-go-codegen DO NOT EDIT.
  2. package ssooidc
  3. import (
  4. "bytes"
  5. "context"
  6. "fmt"
  7. smithy "github.com/aws/smithy-go"
  8. "github.com/aws/smithy-go/encoding/httpbinding"
  9. smithyjson "github.com/aws/smithy-go/encoding/json"
  10. "github.com/aws/smithy-go/middleware"
  11. smithyhttp "github.com/aws/smithy-go/transport/http"
  12. )
  13. type awsRestjson1_serializeOpCreateToken struct {
  14. }
  15. func (*awsRestjson1_serializeOpCreateToken) ID() string {
  16. return "OperationSerializer"
  17. }
  18. func (m *awsRestjson1_serializeOpCreateToken) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
  19. out middleware.SerializeOutput, metadata middleware.Metadata, err error,
  20. ) {
  21. request, ok := in.Request.(*smithyhttp.Request)
  22. if !ok {
  23. return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
  24. }
  25. input, ok := in.Parameters.(*CreateTokenInput)
  26. _ = input
  27. if !ok {
  28. return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
  29. }
  30. opPath, opQuery := httpbinding.SplitURI("/token")
  31. request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
  32. request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
  33. request.Method = "POST"
  34. restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
  35. if err != nil {
  36. return out, metadata, &smithy.SerializationError{Err: err}
  37. }
  38. restEncoder.SetHeader("Content-Type").String("application/json")
  39. jsonEncoder := smithyjson.NewEncoder()
  40. if err := awsRestjson1_serializeOpDocumentCreateTokenInput(input, jsonEncoder.Value); err != nil {
  41. return out, metadata, &smithy.SerializationError{Err: err}
  42. }
  43. if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
  44. return out, metadata, &smithy.SerializationError{Err: err}
  45. }
  46. if request.Request, err = restEncoder.Encode(request.Request); err != nil {
  47. return out, metadata, &smithy.SerializationError{Err: err}
  48. }
  49. in.Request = request
  50. return next.HandleSerialize(ctx, in)
  51. }
  52. func awsRestjson1_serializeOpHttpBindingsCreateTokenInput(v *CreateTokenInput, encoder *httpbinding.Encoder) error {
  53. if v == nil {
  54. return fmt.Errorf("unsupported serialization of nil %T", v)
  55. }
  56. return nil
  57. }
  58. func awsRestjson1_serializeOpDocumentCreateTokenInput(v *CreateTokenInput, value smithyjson.Value) error {
  59. object := value.Object()
  60. defer object.Close()
  61. if v.ClientId != nil {
  62. ok := object.Key("clientId")
  63. ok.String(*v.ClientId)
  64. }
  65. if v.ClientSecret != nil {
  66. ok := object.Key("clientSecret")
  67. ok.String(*v.ClientSecret)
  68. }
  69. if v.Code != nil {
  70. ok := object.Key("code")
  71. ok.String(*v.Code)
  72. }
  73. if v.DeviceCode != nil {
  74. ok := object.Key("deviceCode")
  75. ok.String(*v.DeviceCode)
  76. }
  77. if v.GrantType != nil {
  78. ok := object.Key("grantType")
  79. ok.String(*v.GrantType)
  80. }
  81. if v.RedirectUri != nil {
  82. ok := object.Key("redirectUri")
  83. ok.String(*v.RedirectUri)
  84. }
  85. if v.RefreshToken != nil {
  86. ok := object.Key("refreshToken")
  87. ok.String(*v.RefreshToken)
  88. }
  89. if v.Scope != nil {
  90. ok := object.Key("scope")
  91. if err := awsRestjson1_serializeDocumentScopes(v.Scope, ok); err != nil {
  92. return err
  93. }
  94. }
  95. return nil
  96. }
  97. type awsRestjson1_serializeOpRegisterClient struct {
  98. }
  99. func (*awsRestjson1_serializeOpRegisterClient) ID() string {
  100. return "OperationSerializer"
  101. }
  102. func (m *awsRestjson1_serializeOpRegisterClient) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
  103. out middleware.SerializeOutput, metadata middleware.Metadata, err error,
  104. ) {
  105. request, ok := in.Request.(*smithyhttp.Request)
  106. if !ok {
  107. return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
  108. }
  109. input, ok := in.Parameters.(*RegisterClientInput)
  110. _ = input
  111. if !ok {
  112. return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
  113. }
  114. opPath, opQuery := httpbinding.SplitURI("/client/register")
  115. request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
  116. request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
  117. request.Method = "POST"
  118. restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
  119. if err != nil {
  120. return out, metadata, &smithy.SerializationError{Err: err}
  121. }
  122. restEncoder.SetHeader("Content-Type").String("application/json")
  123. jsonEncoder := smithyjson.NewEncoder()
  124. if err := awsRestjson1_serializeOpDocumentRegisterClientInput(input, jsonEncoder.Value); err != nil {
  125. return out, metadata, &smithy.SerializationError{Err: err}
  126. }
  127. if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
  128. return out, metadata, &smithy.SerializationError{Err: err}
  129. }
  130. if request.Request, err = restEncoder.Encode(request.Request); err != nil {
  131. return out, metadata, &smithy.SerializationError{Err: err}
  132. }
  133. in.Request = request
  134. return next.HandleSerialize(ctx, in)
  135. }
  136. func awsRestjson1_serializeOpHttpBindingsRegisterClientInput(v *RegisterClientInput, encoder *httpbinding.Encoder) error {
  137. if v == nil {
  138. return fmt.Errorf("unsupported serialization of nil %T", v)
  139. }
  140. return nil
  141. }
  142. func awsRestjson1_serializeOpDocumentRegisterClientInput(v *RegisterClientInput, value smithyjson.Value) error {
  143. object := value.Object()
  144. defer object.Close()
  145. if v.ClientName != nil {
  146. ok := object.Key("clientName")
  147. ok.String(*v.ClientName)
  148. }
  149. if v.ClientType != nil {
  150. ok := object.Key("clientType")
  151. ok.String(*v.ClientType)
  152. }
  153. if v.Scopes != nil {
  154. ok := object.Key("scopes")
  155. if err := awsRestjson1_serializeDocumentScopes(v.Scopes, ok); err != nil {
  156. return err
  157. }
  158. }
  159. return nil
  160. }
  161. type awsRestjson1_serializeOpStartDeviceAuthorization struct {
  162. }
  163. func (*awsRestjson1_serializeOpStartDeviceAuthorization) ID() string {
  164. return "OperationSerializer"
  165. }
  166. func (m *awsRestjson1_serializeOpStartDeviceAuthorization) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
  167. out middleware.SerializeOutput, metadata middleware.Metadata, err error,
  168. ) {
  169. request, ok := in.Request.(*smithyhttp.Request)
  170. if !ok {
  171. return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
  172. }
  173. input, ok := in.Parameters.(*StartDeviceAuthorizationInput)
  174. _ = input
  175. if !ok {
  176. return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
  177. }
  178. opPath, opQuery := httpbinding.SplitURI("/device_authorization")
  179. request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
  180. request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
  181. request.Method = "POST"
  182. restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
  183. if err != nil {
  184. return out, metadata, &smithy.SerializationError{Err: err}
  185. }
  186. restEncoder.SetHeader("Content-Type").String("application/json")
  187. jsonEncoder := smithyjson.NewEncoder()
  188. if err := awsRestjson1_serializeOpDocumentStartDeviceAuthorizationInput(input, jsonEncoder.Value); err != nil {
  189. return out, metadata, &smithy.SerializationError{Err: err}
  190. }
  191. if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
  192. return out, metadata, &smithy.SerializationError{Err: err}
  193. }
  194. if request.Request, err = restEncoder.Encode(request.Request); err != nil {
  195. return out, metadata, &smithy.SerializationError{Err: err}
  196. }
  197. in.Request = request
  198. return next.HandleSerialize(ctx, in)
  199. }
  200. func awsRestjson1_serializeOpHttpBindingsStartDeviceAuthorizationInput(v *StartDeviceAuthorizationInput, encoder *httpbinding.Encoder) error {
  201. if v == nil {
  202. return fmt.Errorf("unsupported serialization of nil %T", v)
  203. }
  204. return nil
  205. }
  206. func awsRestjson1_serializeOpDocumentStartDeviceAuthorizationInput(v *StartDeviceAuthorizationInput, value smithyjson.Value) error {
  207. object := value.Object()
  208. defer object.Close()
  209. if v.ClientId != nil {
  210. ok := object.Key("clientId")
  211. ok.String(*v.ClientId)
  212. }
  213. if v.ClientSecret != nil {
  214. ok := object.Key("clientSecret")
  215. ok.String(*v.ClientSecret)
  216. }
  217. if v.StartUrl != nil {
  218. ok := object.Key("startUrl")
  219. ok.String(*v.StartUrl)
  220. }
  221. return nil
  222. }
  223. func awsRestjson1_serializeDocumentScopes(v []string, value smithyjson.Value) error {
  224. array := value.Array()
  225. defer array.Close()
  226. for i := range v {
  227. av := array.Value()
  228. av.String(v[i])
  229. }
  230. return nil
  231. }