]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blobdiff - vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go
Initial transfer of provider code
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / aws / aws-sdk-go / private / protocol / query / build.go
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go
new file mode 100644 (file)
index 0000000..18169f0
--- /dev/null
@@ -0,0 +1,36 @@
+// Package query provides serialization of AWS query requests, and responses.
+package query
+
+//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/query.json build_test.go
+
+import (
+       "net/url"
+
+       "github.com/aws/aws-sdk-go/aws/awserr"
+       "github.com/aws/aws-sdk-go/aws/request"
+       "github.com/aws/aws-sdk-go/private/protocol/query/queryutil"
+)
+
+// BuildHandler is a named request handler for building query protocol requests
+var BuildHandler = request.NamedHandler{Name: "awssdk.query.Build", Fn: Build}
+
+// Build builds a request for an AWS Query service.
+func Build(r *request.Request) {
+       body := url.Values{
+               "Action":  {r.Operation.Name},
+               "Version": {r.ClientInfo.APIVersion},
+       }
+       if err := queryutil.Parse(body, r.Params, false); err != nil {
+               r.Error = awserr.New("SerializationError", "failed encoding Query request", err)
+               return
+       }
+
+       if r.ExpireTime == 0 {
+               r.HTTPRequest.Method = "POST"
+               r.HTTPRequest.Header.Set("Content-Type", "application/x-www-form-urlencoded; charset=utf-8")
+               r.SetBufferBody([]byte(body.Encode()))
+       } else { // This is a pre-signed request
+               r.HTTPRequest.Method = "GET"
+               r.HTTPRequest.URL.RawQuery = body.Encode()
+       }
+}