aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go')
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go36
1 files changed, 36 insertions, 0 deletions
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
index 0000000..18169f0
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go
@@ -0,0 +1,36 @@
1// Package query provides serialization of AWS query requests, and responses.
2package query
3
4//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/query.json build_test.go
5
6import (
7 "net/url"
8
9 "github.com/aws/aws-sdk-go/aws/awserr"
10 "github.com/aws/aws-sdk-go/aws/request"
11 "github.com/aws/aws-sdk-go/private/protocol/query/queryutil"
12)
13
14// BuildHandler is a named request handler for building query protocol requests
15var BuildHandler = request.NamedHandler{Name: "awssdk.query.Build", Fn: Build}
16
17// Build builds a request for an AWS Query service.
18func Build(r *request.Request) {
19 body := url.Values{
20 "Action": {r.Operation.Name},
21 "Version": {r.ClientInfo.APIVersion},
22 }
23 if err := queryutil.Parse(body, r.Params, false); err != nil {
24 r.Error = awserr.New("SerializationError", "failed encoding Query request", err)
25 return
26 }
27
28 if r.ExpireTime == 0 {
29 r.HTTPRequest.Method = "POST"
30 r.HTTPRequest.Header.Set("Content-Type", "application/x-www-form-urlencoded; charset=utf-8")
31 r.SetBufferBody([]byte(body.Encode()))
32 } else { // This is a pre-signed request
33 r.HTTPRequest.Method = "GET"
34 r.HTTPRequest.URL.RawQuery = body.Encode()
35 }
36}