mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-30 18:01:21 +00:00
Add all dependency of go-getter
This commit is contained in:
211
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/models/jsonrpc/0000-00-00/api-2.json
generated
vendored
Normal file
211
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/models/jsonrpc/0000-00-00/api-2.json
generated
vendored
Normal file
@@ -0,0 +1,211 @@
|
||||
{
|
||||
"version":"2.0",
|
||||
"metadata":{
|
||||
"apiVersion":"0000-00-00",
|
||||
"endpointPrefix":"rpcservice",
|
||||
"jsonVersion":"1.1",
|
||||
"protocol":"json",
|
||||
"serviceAbbreviation":"RPCService",
|
||||
"serviceFullName":"RPC Service",
|
||||
"serviceId":"RPCService",
|
||||
"signatureVersion":"v4",
|
||||
"targetPrefix":"RPCService_00000000",
|
||||
"uid":"RPCService-0000-00-00"
|
||||
},
|
||||
"operations":{
|
||||
"GetEventStream":{
|
||||
"name":"GetEventStream",
|
||||
"http":{
|
||||
"method":"POST",
|
||||
"requestUri":"/"
|
||||
},
|
||||
"input":{"shape":"GetEventStreamRequest"},
|
||||
"output":{"shape":"GetEventStreamResponse"}
|
||||
},
|
||||
"EmptyStream":{
|
||||
"name":"EmptyStream",
|
||||
"http":{
|
||||
"method":"POST",
|
||||
"requestUri":"/"
|
||||
},
|
||||
"input":{"shape":"EmptyStreamRequest"},
|
||||
"output":{"shape":"EmptyStreamResponse"}
|
||||
}
|
||||
},
|
||||
"shapes":{
|
||||
"Bool":{"type":"boolean"},
|
||||
"Byte":{"type":"byte"},
|
||||
"Short":{"type":"short"},
|
||||
"Integer":{"type":"integer"},
|
||||
"Long":{"type":"long"},
|
||||
"Blob":{"type":"blob"},
|
||||
"String":{"type":"string"},
|
||||
"Time":{"type":"timestamp"},
|
||||
"GetEventStreamRequest":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"InputVal":{"shape":"String"}
|
||||
}
|
||||
},
|
||||
"GetEventStreamResponse":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"StrVal":{"shape":"String"},
|
||||
"IntVal":{"shape":"Integer"},
|
||||
"EventStream":{"shape":"EventStream"}
|
||||
}
|
||||
},
|
||||
"EventStream":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"Headers":{"shape":"HeaderOnlyEvent"},
|
||||
"ImplicitPayload":{"shape":"ImplicitPayloadEvent"},
|
||||
"ExplicitPayload":{"shape":"ExplicitPayloadEvent"},
|
||||
"PayloadOnly":{"shape":"PayloadOnlyEvent"},
|
||||
"PayloadOnlyBlob":{"shape":"PayloadOnlyBlobEvent"},
|
||||
"PayloadOnlyString":{"shape":"PayloadOnlyStringEvent"},
|
||||
"Empty":{"shape":"EmptyEvent"},
|
||||
"Exception":{"shape":"ExceptionEvent"}
|
||||
},
|
||||
"eventstream":true
|
||||
},
|
||||
"EmptyStreamRequest":{
|
||||
"type":"structure",
|
||||
"members":{}
|
||||
},
|
||||
"EmptyStreamResponse":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"EventStream":{"shape":"EmptyEventStream"}
|
||||
}
|
||||
},
|
||||
"EmptyEventStream":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
},
|
||||
"eventstream":true
|
||||
},
|
||||
"HeaderOnlyEvent":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"BoolVal":{
|
||||
"shape":"Bool",
|
||||
"eventheader":true
|
||||
},
|
||||
"ByteVal":{
|
||||
"shape":"Byte",
|
||||
"eventheader":true
|
||||
},
|
||||
"ShortVal":{
|
||||
"shape":"Short",
|
||||
"eventheader":true
|
||||
},
|
||||
"IntegerVal":{
|
||||
"shape":"Integer",
|
||||
"eventheader":true
|
||||
},
|
||||
"LongVal":{
|
||||
"shape":"Long",
|
||||
"eventheader":true
|
||||
},
|
||||
"StringVal":{
|
||||
"shape":"String",
|
||||
"eventheader":true
|
||||
},
|
||||
"BlobVal":{
|
||||
"shape":"Blob",
|
||||
"eventheader":true
|
||||
},
|
||||
"TimeVal":{
|
||||
"shape":"Time",
|
||||
"eventheader":true
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"ImplicitPayloadEvent": {
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"ByteVal":{
|
||||
"shape":"Byte",
|
||||
"eventheader":true
|
||||
},
|
||||
"ShortVal":{
|
||||
"shape":"Short"
|
||||
},
|
||||
"IntegerVal":{
|
||||
"shape":"Integer"
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"ExplicitPayloadEvent": {
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"LongVal":{
|
||||
"shape":"Long",
|
||||
"eventheader":true
|
||||
},
|
||||
"StringVal":{
|
||||
"shape":"String",
|
||||
"eventheader":true
|
||||
},
|
||||
"NestedVal":{
|
||||
"shape":"NestedShape",
|
||||
"eventpayload":true
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"PayloadOnlyEvent":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"NestedVal":{
|
||||
"shape":"NestedShape",
|
||||
"eventpayload":true
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"PayloadOnlyBlobEvent":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"BlobPayload":{
|
||||
"shape":"Blob",
|
||||
"eventpayload":true
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"PayloadOnlyStringEvent":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"StringPayload":{
|
||||
"shape":"String",
|
||||
"eventpayload":true
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"EmptyEvent": {
|
||||
"type":"structure",
|
||||
"members":{},
|
||||
"event": true
|
||||
},
|
||||
"NestedShape": {
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"IntVal":{"shape":"Integer"},
|
||||
"StrVal":{"shape":"String"}
|
||||
}
|
||||
},
|
||||
"ExceptionEvent":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"IntVal":{"shape":"Integer"},
|
||||
"message":{"shape":"String"}
|
||||
},
|
||||
"exception":true
|
||||
}
|
||||
}
|
||||
}
|
||||
7
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/models/jsonrpc/0000-00-00/docs-2.json
generated
vendored
Normal file
7
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/models/jsonrpc/0000-00-00/docs-2.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": "2.0",
|
||||
"service": null,
|
||||
"operations": {
|
||||
},
|
||||
"shapes":{}
|
||||
}
|
||||
211
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/models/restjson/0000-00-00/api-2.json
generated
vendored
Normal file
211
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/models/restjson/0000-00-00/api-2.json
generated
vendored
Normal file
@@ -0,0 +1,211 @@
|
||||
{
|
||||
"version":"2.0",
|
||||
"metadata":{
|
||||
"apiVersion":"0000-00-00",
|
||||
"endpointPrefix":"restjsonservice",
|
||||
"jsonVersion":"1.1",
|
||||
"protocol":"rest-json",
|
||||
"serviceAbbreviation":"RESTJSONService",
|
||||
"serviceFullName":"REST JSON Service",
|
||||
"serviceId":"RESTJSONService",
|
||||
"signatureVersion":"v4",
|
||||
"targetPrefix":"RESTJSONService_00000000",
|
||||
"uid":"RESTJSONService-0000-00-00"
|
||||
},
|
||||
"operations":{
|
||||
"GetEventStream":{
|
||||
"name":"GetEventStream",
|
||||
"http":{
|
||||
"method":"POST",
|
||||
"requestUri":"/"
|
||||
},
|
||||
"input":{"shape":"GetEventStreamRequest"},
|
||||
"output":{"shape":"GetEventStreamResponse"}
|
||||
},
|
||||
"EmptyStream":{
|
||||
"name":"EmptyStream",
|
||||
"http":{
|
||||
"method":"POST",
|
||||
"requestUri":"/"
|
||||
},
|
||||
"input":{"shape":"EmptyStreamRequest"},
|
||||
"output":{"shape":"EmptyStreamResponse"}
|
||||
}
|
||||
},
|
||||
"shapes":{
|
||||
"Bool":{"type":"boolean"},
|
||||
"Byte":{"type":"byte"},
|
||||
"Short":{"type":"short"},
|
||||
"Integer":{"type":"integer"},
|
||||
"Long":{"type":"long"},
|
||||
"Blob":{"type":"blob"},
|
||||
"String":{"type":"string"},
|
||||
"Time":{"type":"timestamp"},
|
||||
"GetEventStreamRequest":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"InputVal":{"shape":"String"}
|
||||
}
|
||||
},
|
||||
"GetEventStreamResponse":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"StrVal":{"shape":"String"},
|
||||
"IntVal":{"shape":"Integer"},
|
||||
"EventStream":{"shape":"EventStream"}
|
||||
}
|
||||
},
|
||||
"EventStream":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"Headers":{"shape":"HeaderOnlyEvent"},
|
||||
"ImplicitPayload":{"shape":"ImplicitPayloadEvent"},
|
||||
"ExplicitPayload":{"shape":"ExplicitPayloadEvent"},
|
||||
"PayloadOnly":{"shape":"PayloadOnlyEvent"},
|
||||
"PayloadOnlyBlob":{"shape":"PayloadOnlyBlobEvent"},
|
||||
"PayloadOnlyString":{"shape":"PayloadOnlyStringEvent"},
|
||||
"Empty":{"shape":"EmptyEvent"},
|
||||
"Exception":{"shape":"ExceptionEvent"}
|
||||
},
|
||||
"eventstream":true
|
||||
},
|
||||
"EmptyStreamRequest":{
|
||||
"type":"structure",
|
||||
"members":{}
|
||||
},
|
||||
"EmptyStreamResponse":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"EventStream":{"shape":"EmptyEventStream"}
|
||||
}
|
||||
},
|
||||
"EmptyEventStream":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
},
|
||||
"eventstream":true
|
||||
},
|
||||
"HeaderOnlyEvent":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"BoolVal":{
|
||||
"shape":"Bool",
|
||||
"eventheader":true
|
||||
},
|
||||
"ByteVal":{
|
||||
"shape":"Byte",
|
||||
"eventheader":true
|
||||
},
|
||||
"ShortVal":{
|
||||
"shape":"Short",
|
||||
"eventheader":true
|
||||
},
|
||||
"IntegerVal":{
|
||||
"shape":"Integer",
|
||||
"eventheader":true
|
||||
},
|
||||
"LongVal":{
|
||||
"shape":"Long",
|
||||
"eventheader":true
|
||||
},
|
||||
"StringVal":{
|
||||
"shape":"String",
|
||||
"eventheader":true
|
||||
},
|
||||
"BlobVal":{
|
||||
"shape":"Blob",
|
||||
"eventheader":true
|
||||
},
|
||||
"TimeVal":{
|
||||
"shape":"Time",
|
||||
"eventheader":true
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"ImplicitPayloadEvent": {
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"ByteVal":{
|
||||
"shape":"Byte",
|
||||
"eventheader":true
|
||||
},
|
||||
"ShortVal":{
|
||||
"shape":"Short"
|
||||
},
|
||||
"IntegerVal":{
|
||||
"shape":"Integer"
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"ExplicitPayloadEvent": {
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"LongVal":{
|
||||
"shape":"Long",
|
||||
"eventheader":true
|
||||
},
|
||||
"StringVal":{
|
||||
"shape":"String",
|
||||
"eventheader":true
|
||||
},
|
||||
"NestedVal":{
|
||||
"shape":"NestedShape",
|
||||
"eventpayload":true
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"PayloadOnlyEvent":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"NestedVal":{
|
||||
"shape":"NestedShape",
|
||||
"eventpayload":true
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"PayloadOnlyBlobEvent":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"BlobPayload":{
|
||||
"shape":"Blob",
|
||||
"eventpayload":true
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"PayloadOnlyStringEvent":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"StringPayload":{
|
||||
"shape":"String",
|
||||
"eventpayload":true
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"EmptyEvent": {
|
||||
"type":"structure",
|
||||
"members":{},
|
||||
"event": true
|
||||
},
|
||||
"NestedShape": {
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"IntVal":{"shape":"Integer"},
|
||||
"StrVal":{"shape":"String"}
|
||||
}
|
||||
},
|
||||
"ExceptionEvent":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"IntVal":{"shape":"Integer"},
|
||||
"message":{"shape":"String"}
|
||||
},
|
||||
"exception":true
|
||||
}
|
||||
}
|
||||
}
|
||||
7
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/models/restjson/0000-00-00/docs-2.json
generated
vendored
Normal file
7
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/models/restjson/0000-00-00/docs-2.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": "2.0",
|
||||
"service": null,
|
||||
"operations": {
|
||||
},
|
||||
"shapes":{}
|
||||
}
|
||||
211
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/models/restxml/0000-00-00/api-2.json
generated
vendored
Normal file
211
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/models/restxml/0000-00-00/api-2.json
generated
vendored
Normal file
@@ -0,0 +1,211 @@
|
||||
{
|
||||
"version":"2.0",
|
||||
"metadata":{
|
||||
"apiVersion":"0000-00-00",
|
||||
"endpointPrefix":"restxmlservice",
|
||||
"jsonVersion":"1.1",
|
||||
"protocol":"rest-xml",
|
||||
"serviceAbbreviation":"RESTXMLService",
|
||||
"serviceFullName":"REST XML Service",
|
||||
"serviceId":"RESTXMLService",
|
||||
"signatureVersion":"v4",
|
||||
"targetPrefix":"RESTXMLService_00000000",
|
||||
"uid":"RESTXMLService-0000-00-00"
|
||||
},
|
||||
"operations":{
|
||||
"GetEventStream":{
|
||||
"name":"GetEventStream",
|
||||
"http":{
|
||||
"method":"POST",
|
||||
"requestUri":"/"
|
||||
},
|
||||
"input":{"shape":"GetEventStreamRequest"},
|
||||
"output":{"shape":"GetEventStreamResponse"}
|
||||
},
|
||||
"EmptyStream":{
|
||||
"name":"EmptyStream",
|
||||
"http":{
|
||||
"method":"POST",
|
||||
"requestUri":"/"
|
||||
},
|
||||
"input":{"shape":"EmptyStreamRequest"},
|
||||
"output":{"shape":"EmptyStreamResponse"}
|
||||
}
|
||||
},
|
||||
"shapes":{
|
||||
"Bool":{"type":"boolean"},
|
||||
"Byte":{"type":"byte"},
|
||||
"Short":{"type":"short"},
|
||||
"Integer":{"type":"integer"},
|
||||
"Long":{"type":"long"},
|
||||
"Blob":{"type":"blob"},
|
||||
"String":{"type":"string"},
|
||||
"Time":{"type":"timestamp"},
|
||||
"GetEventStreamRequest":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"InputVal":{"shape":"String"}
|
||||
}
|
||||
},
|
||||
"GetEventStreamResponse":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"StrVal":{"shape":"String"},
|
||||
"IntVal":{"shape":"Integer"},
|
||||
"EventStream":{"shape":"EventStream"}
|
||||
}
|
||||
},
|
||||
"EventStream":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"Headers":{"shape":"HeaderOnlyEvent"},
|
||||
"ImplicitPayload":{"shape":"ImplicitPayloadEvent"},
|
||||
"ExplicitPayload":{"shape":"ExplicitPayloadEvent"},
|
||||
"PayloadOnly":{"shape":"PayloadOnlyEvent"},
|
||||
"PayloadOnlyBlob":{"shape":"PayloadOnlyBlobEvent"},
|
||||
"PayloadOnlyString":{"shape":"PayloadOnlyStringEvent"},
|
||||
"Empty":{"shape":"EmptyEvent"},
|
||||
"Exception":{"shape":"ExceptionEvent"}
|
||||
},
|
||||
"eventstream":true
|
||||
},
|
||||
"EmptyStreamRequest":{
|
||||
"type":"structure",
|
||||
"members":{}
|
||||
},
|
||||
"EmptyStreamResponse":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"EventStream":{"shape":"EmptyEventStream"}
|
||||
}
|
||||
},
|
||||
"EmptyEventStream":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
},
|
||||
"eventstream":true
|
||||
},
|
||||
"HeaderOnlyEvent":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"BoolVal":{
|
||||
"shape":"Bool",
|
||||
"eventheader":true
|
||||
},
|
||||
"ByteVal":{
|
||||
"shape":"Byte",
|
||||
"eventheader":true
|
||||
},
|
||||
"ShortVal":{
|
||||
"shape":"Short",
|
||||
"eventheader":true
|
||||
},
|
||||
"IntegerVal":{
|
||||
"shape":"Integer",
|
||||
"eventheader":true
|
||||
},
|
||||
"LongVal":{
|
||||
"shape":"Long",
|
||||
"eventheader":true
|
||||
},
|
||||
"StringVal":{
|
||||
"shape":"String",
|
||||
"eventheader":true
|
||||
},
|
||||
"BlobVal":{
|
||||
"shape":"Blob",
|
||||
"eventheader":true
|
||||
},
|
||||
"TimeVal":{
|
||||
"shape":"Time",
|
||||
"eventheader":true
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"ImplicitPayloadEvent": {
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"ByteVal":{
|
||||
"shape":"Byte",
|
||||
"eventheader":true
|
||||
},
|
||||
"ShortVal":{
|
||||
"shape":"Short"
|
||||
},
|
||||
"IntegerVal":{
|
||||
"shape":"Integer"
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"ExplicitPayloadEvent": {
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"LongVal":{
|
||||
"shape":"Long",
|
||||
"eventheader":true
|
||||
},
|
||||
"StringVal":{
|
||||
"shape":"String",
|
||||
"eventheader":true
|
||||
},
|
||||
"NestedVal":{
|
||||
"shape":"NestedShape",
|
||||
"eventpayload":true
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"PayloadOnlyEvent":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"NestedVal":{
|
||||
"shape":"NestedShape",
|
||||
"eventpayload":true
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"PayloadOnlyBlobEvent":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"BlobPayload":{
|
||||
"shape":"Blob",
|
||||
"eventpayload":true
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"PayloadOnlyStringEvent":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"StringPayload":{
|
||||
"shape":"String",
|
||||
"eventpayload":true
|
||||
}
|
||||
},
|
||||
"event":true
|
||||
},
|
||||
"EmptyEvent": {
|
||||
"type":"structure",
|
||||
"members":{},
|
||||
"event": true
|
||||
},
|
||||
"NestedShape": {
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"IntVal":{"shape":"Integer"},
|
||||
"StrVal":{"shape":"String"}
|
||||
}
|
||||
},
|
||||
"ExceptionEvent":{
|
||||
"type":"structure",
|
||||
"members":{
|
||||
"IntVal":{"shape":"Integer"},
|
||||
"message":{"shape":"String"}
|
||||
},
|
||||
"exception":true
|
||||
}
|
||||
}
|
||||
}
|
||||
7
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/models/restxml/0000-00-00/docs-2.json
generated
vendored
Normal file
7
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/models/restxml/0000-00-00/docs-2.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": "2.0",
|
||||
"service": null,
|
||||
"operations": {
|
||||
},
|
||||
"shapes":{}
|
||||
}
|
||||
5
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/generate.go
generated
vendored
Normal file
5
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/generate.go
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
// Package service contains automatically generated AWS clients.
|
||||
package service
|
||||
|
||||
//go:generate go run -tags codegen ../../../cli/gen-api/main.go -path=../service -svc-import-path "github.com/aws/aws-sdk-go/private/model/api/codegentest/service" ../models/*/*/api-2.json
|
||||
//go:generate gofmt -s -w ../service
|
||||
1202
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restjsonservice/api.go
generated
vendored
Normal file
1202
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restjsonservice/api.go
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
26
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restjsonservice/doc.go
generated
vendored
Normal file
26
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restjsonservice/doc.go
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
||||
|
||||
// Package restjsonservice provides the client and types for making API
|
||||
// requests to REST JSON Service.
|
||||
//
|
||||
// See https://docs.aws.amazon.com/goto/WebAPI/RESTJSONService-0000-00-00 for more information on this service.
|
||||
//
|
||||
// See restjsonservice package documentation for more information.
|
||||
// https://docs.aws.amazon.com/sdk-for-go/api/service/restjsonservice/
|
||||
//
|
||||
// Using the Client
|
||||
//
|
||||
// To contact REST JSON Service with the SDK use the New function to create
|
||||
// a new service client. With that client you can make API requests to the service.
|
||||
// These clients are safe to use concurrently.
|
||||
//
|
||||
// See the SDK's documentation for more information on how to use the SDK.
|
||||
// https://docs.aws.amazon.com/sdk-for-go/api/
|
||||
//
|
||||
// See aws.Config documentation for more information on configuring SDK clients.
|
||||
// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
|
||||
//
|
||||
// See the REST JSON Service client RESTJSONService for more
|
||||
// information on creating client for this service.
|
||||
// https://docs.aws.amazon.com/sdk-for-go/api/service/restjsonservice/#New
|
||||
package restjsonservice
|
||||
3
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restjsonservice/errors.go
generated
vendored
Normal file
3
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restjsonservice/errors.go
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
||||
|
||||
package restjsonservice
|
||||
525
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restjsonservice/eventstream_test.go
generated
vendored
Normal file
525
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restjsonservice/eventstream_test.go
generated
vendored
Normal file
@@ -0,0 +1,525 @@
|
||||
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
||||
|
||||
// +build go1.6
|
||||
|
||||
package restjsonservice
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"reflect"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
"github.com/aws/aws-sdk-go/aws/corehandlers"
|
||||
"github.com/aws/aws-sdk-go/aws/request"
|
||||
"github.com/aws/aws-sdk-go/awstesting/unit"
|
||||
"github.com/aws/aws-sdk-go/private/protocol"
|
||||
"github.com/aws/aws-sdk-go/private/protocol/eventstream"
|
||||
"github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi"
|
||||
"github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamtest"
|
||||
"github.com/aws/aws-sdk-go/private/protocol/restjson"
|
||||
)
|
||||
|
||||
var _ time.Time
|
||||
var _ awserr.Error
|
||||
|
||||
func TestEmptyStream_Read(t *testing.T) {
|
||||
expectEvents, eventMsgs := mockEmptyStreamReadEvents()
|
||||
sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t,
|
||||
eventstreamtest.ServeEventStream{
|
||||
T: t,
|
||||
Events: eventMsgs,
|
||||
},
|
||||
true,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error, %v", err)
|
||||
}
|
||||
defer cleanupFn()
|
||||
|
||||
svc := New(sess)
|
||||
resp, err := svc.EmptyStream(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error got, %v", err)
|
||||
}
|
||||
defer resp.EventStream.Close()
|
||||
|
||||
var i int
|
||||
for event := range resp.EventStream.Events() {
|
||||
if event == nil {
|
||||
t.Errorf("%d, expect event, got nil", i)
|
||||
}
|
||||
if e, a := expectEvents[i], event; !reflect.DeepEqual(e, a) {
|
||||
t.Errorf("%d, expect %T %v, got %T %v", i, e, e, a, a)
|
||||
}
|
||||
i++
|
||||
}
|
||||
|
||||
if err := resp.EventStream.Err(); err != nil {
|
||||
t.Errorf("expect no error, %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestEmptyStream_ReadClose(t *testing.T) {
|
||||
_, eventMsgs := mockEmptyStreamReadEvents()
|
||||
sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t,
|
||||
eventstreamtest.ServeEventStream{
|
||||
T: t,
|
||||
Events: eventMsgs,
|
||||
},
|
||||
true,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error, %v", err)
|
||||
}
|
||||
defer cleanupFn()
|
||||
|
||||
svc := New(sess)
|
||||
resp, err := svc.EmptyStream(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error got, %v", err)
|
||||
}
|
||||
|
||||
resp.EventStream.Close()
|
||||
<-resp.EventStream.Events()
|
||||
|
||||
if err := resp.EventStream.Err(); err != nil {
|
||||
t.Errorf("expect no error, %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkEmptyStream_Read(b *testing.B) {
|
||||
_, eventMsgs := mockEmptyStreamReadEvents()
|
||||
var buf bytes.Buffer
|
||||
encoder := eventstream.NewEncoder(&buf)
|
||||
for _, msg := range eventMsgs {
|
||||
if err := encoder.Encode(msg); err != nil {
|
||||
b.Fatalf("failed to encode message, %v", err)
|
||||
}
|
||||
}
|
||||
stream := &loopReader{source: bytes.NewReader(buf.Bytes())}
|
||||
|
||||
sess := unit.Session
|
||||
svc := New(sess, &aws.Config{
|
||||
Endpoint: aws.String("https://example.com"),
|
||||
DisableParamValidation: aws.Bool(true),
|
||||
})
|
||||
svc.Handlers.Send.Swap(corehandlers.SendHandler.Name,
|
||||
request.NamedHandler{Name: "mockSend",
|
||||
Fn: func(r *request.Request) {
|
||||
r.HTTPResponse = &http.Response{
|
||||
Status: "200 OK",
|
||||
StatusCode: 200,
|
||||
Header: http.Header{},
|
||||
Body: ioutil.NopCloser(stream),
|
||||
}
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
resp, err := svc.EmptyStream(nil)
|
||||
if err != nil {
|
||||
b.Fatalf("failed to create request, %v", err)
|
||||
}
|
||||
defer resp.EventStream.Close()
|
||||
b.ResetTimer()
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
if err = resp.EventStream.Err(); err != nil {
|
||||
b.Fatalf("expect no error, got %v", err)
|
||||
}
|
||||
event := <-resp.EventStream.Events()
|
||||
if event == nil {
|
||||
b.Fatalf("expect event, got nil, %v, %d", resp.EventStream.Err(), i)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func mockEmptyStreamReadEvents() (
|
||||
[]EmptyEventStreamEvent,
|
||||
[]eventstream.Message,
|
||||
) {
|
||||
expectEvents := []EmptyEventStreamEvent{}
|
||||
|
||||
var marshalers request.HandlerList
|
||||
marshalers.PushBackNamed(restjson.BuildHandler)
|
||||
payloadMarshaler := protocol.HandlerPayloadMarshal{
|
||||
Marshalers: marshalers,
|
||||
}
|
||||
_ = payloadMarshaler
|
||||
|
||||
eventMsgs := []eventstream.Message{}
|
||||
|
||||
return expectEvents, eventMsgs
|
||||
}
|
||||
|
||||
func TestGetEventStream_Read(t *testing.T) {
|
||||
expectEvents, eventMsgs := mockGetEventStreamReadEvents()
|
||||
sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t,
|
||||
eventstreamtest.ServeEventStream{
|
||||
T: t,
|
||||
Events: eventMsgs,
|
||||
},
|
||||
true,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error, %v", err)
|
||||
}
|
||||
defer cleanupFn()
|
||||
|
||||
svc := New(sess)
|
||||
resp, err := svc.GetEventStream(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error got, %v", err)
|
||||
}
|
||||
defer resp.EventStream.Close()
|
||||
|
||||
var i int
|
||||
for event := range resp.EventStream.Events() {
|
||||
if event == nil {
|
||||
t.Errorf("%d, expect event, got nil", i)
|
||||
}
|
||||
if e, a := expectEvents[i], event; !reflect.DeepEqual(e, a) {
|
||||
t.Errorf("%d, expect %T %v, got %T %v", i, e, e, a, a)
|
||||
}
|
||||
i++
|
||||
}
|
||||
|
||||
if err := resp.EventStream.Err(); err != nil {
|
||||
t.Errorf("expect no error, %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetEventStream_ReadClose(t *testing.T) {
|
||||
_, eventMsgs := mockGetEventStreamReadEvents()
|
||||
sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t,
|
||||
eventstreamtest.ServeEventStream{
|
||||
T: t,
|
||||
Events: eventMsgs,
|
||||
},
|
||||
true,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error, %v", err)
|
||||
}
|
||||
defer cleanupFn()
|
||||
|
||||
svc := New(sess)
|
||||
resp, err := svc.GetEventStream(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error got, %v", err)
|
||||
}
|
||||
|
||||
resp.EventStream.Close()
|
||||
<-resp.EventStream.Events()
|
||||
|
||||
if err := resp.EventStream.Err(); err != nil {
|
||||
t.Errorf("expect no error, %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkGetEventStream_Read(b *testing.B) {
|
||||
_, eventMsgs := mockGetEventStreamReadEvents()
|
||||
var buf bytes.Buffer
|
||||
encoder := eventstream.NewEncoder(&buf)
|
||||
for _, msg := range eventMsgs {
|
||||
if err := encoder.Encode(msg); err != nil {
|
||||
b.Fatalf("failed to encode message, %v", err)
|
||||
}
|
||||
}
|
||||
stream := &loopReader{source: bytes.NewReader(buf.Bytes())}
|
||||
|
||||
sess := unit.Session
|
||||
svc := New(sess, &aws.Config{
|
||||
Endpoint: aws.String("https://example.com"),
|
||||
DisableParamValidation: aws.Bool(true),
|
||||
})
|
||||
svc.Handlers.Send.Swap(corehandlers.SendHandler.Name,
|
||||
request.NamedHandler{Name: "mockSend",
|
||||
Fn: func(r *request.Request) {
|
||||
r.HTTPResponse = &http.Response{
|
||||
Status: "200 OK",
|
||||
StatusCode: 200,
|
||||
Header: http.Header{},
|
||||
Body: ioutil.NopCloser(stream),
|
||||
}
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
resp, err := svc.GetEventStream(nil)
|
||||
if err != nil {
|
||||
b.Fatalf("failed to create request, %v", err)
|
||||
}
|
||||
defer resp.EventStream.Close()
|
||||
b.ResetTimer()
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
if err = resp.EventStream.Err(); err != nil {
|
||||
b.Fatalf("expect no error, got %v", err)
|
||||
}
|
||||
event := <-resp.EventStream.Events()
|
||||
if event == nil {
|
||||
b.Fatalf("expect event, got nil, %v, %d", resp.EventStream.Err(), i)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func mockGetEventStreamReadEvents() (
|
||||
[]EventStreamEvent,
|
||||
[]eventstream.Message,
|
||||
) {
|
||||
expectEvents := []EventStreamEvent{
|
||||
&EmptyEvent{},
|
||||
&ExplicitPayloadEvent{
|
||||
LongVal: aws.Int64(1234),
|
||||
NestedVal: &NestedShape{
|
||||
IntVal: aws.Int64(123),
|
||||
StrVal: aws.String("string value goes here"),
|
||||
},
|
||||
StringVal: aws.String("string value goes here"),
|
||||
},
|
||||
&HeaderOnlyEvent{
|
||||
BlobVal: []byte("blob value goes here"),
|
||||
BoolVal: aws.Bool(true),
|
||||
ByteVal: aws.Int64(1),
|
||||
IntegerVal: aws.Int64(123),
|
||||
LongVal: aws.Int64(1234),
|
||||
ShortVal: aws.Int64(12),
|
||||
StringVal: aws.String("string value goes here"),
|
||||
TimeVal: aws.Time(time.Unix(1396594860, 0).UTC()),
|
||||
},
|
||||
&ImplicitPayloadEvent{
|
||||
ByteVal: aws.Int64(1),
|
||||
IntegerVal: aws.Int64(123),
|
||||
ShortVal: aws.Int64(12),
|
||||
},
|
||||
&PayloadOnlyEvent{
|
||||
NestedVal: &NestedShape{
|
||||
IntVal: aws.Int64(123),
|
||||
StrVal: aws.String("string value goes here"),
|
||||
},
|
||||
},
|
||||
&PayloadOnlyBlobEvent{
|
||||
BlobPayload: []byte("blob value goes here"),
|
||||
},
|
||||
&PayloadOnlyStringEvent{
|
||||
StringPayload: aws.String("string value goes here"),
|
||||
},
|
||||
}
|
||||
|
||||
var marshalers request.HandlerList
|
||||
marshalers.PushBackNamed(restjson.BuildHandler)
|
||||
payloadMarshaler := protocol.HandlerPayloadMarshal{
|
||||
Marshalers: marshalers,
|
||||
}
|
||||
_ = payloadMarshaler
|
||||
|
||||
eventMsgs := []eventstream.Message{
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("Empty"),
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("ExplicitPayload"),
|
||||
},
|
||||
{
|
||||
Name: "LongVal",
|
||||
Value: eventstream.Int64Value(*expectEvents[1].(*ExplicitPayloadEvent).LongVal),
|
||||
},
|
||||
{
|
||||
Name: "StringVal",
|
||||
Value: eventstream.StringValue(*expectEvents[1].(*ExplicitPayloadEvent).StringVal),
|
||||
},
|
||||
},
|
||||
Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[1]),
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("Headers"),
|
||||
},
|
||||
{
|
||||
Name: "BlobVal",
|
||||
Value: eventstream.BytesValue(expectEvents[2].(*HeaderOnlyEvent).BlobVal),
|
||||
},
|
||||
{
|
||||
Name: "BoolVal",
|
||||
Value: eventstream.BoolValue(*expectEvents[2].(*HeaderOnlyEvent).BoolVal),
|
||||
},
|
||||
{
|
||||
Name: "ByteVal",
|
||||
Value: eventstream.Int8Value(int8(*expectEvents[2].(*HeaderOnlyEvent).ByteVal)),
|
||||
},
|
||||
{
|
||||
Name: "IntegerVal",
|
||||
Value: eventstream.Int32Value(int32(*expectEvents[2].(*HeaderOnlyEvent).IntegerVal)),
|
||||
},
|
||||
{
|
||||
Name: "LongVal",
|
||||
Value: eventstream.Int64Value(*expectEvents[2].(*HeaderOnlyEvent).LongVal),
|
||||
},
|
||||
{
|
||||
Name: "ShortVal",
|
||||
Value: eventstream.Int16Value(int16(*expectEvents[2].(*HeaderOnlyEvent).ShortVal)),
|
||||
},
|
||||
{
|
||||
Name: "StringVal",
|
||||
Value: eventstream.StringValue(*expectEvents[2].(*HeaderOnlyEvent).StringVal),
|
||||
},
|
||||
{
|
||||
Name: "TimeVal",
|
||||
Value: eventstream.TimestampValue(*expectEvents[2].(*HeaderOnlyEvent).TimeVal),
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("ImplicitPayload"),
|
||||
},
|
||||
{
|
||||
Name: "ByteVal",
|
||||
Value: eventstream.Int8Value(int8(*expectEvents[3].(*ImplicitPayloadEvent).ByteVal)),
|
||||
},
|
||||
},
|
||||
Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[3]),
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("PayloadOnly"),
|
||||
},
|
||||
},
|
||||
Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[4]),
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("PayloadOnlyBlob"),
|
||||
},
|
||||
},
|
||||
Payload: expectEvents[5].(*PayloadOnlyBlobEvent).BlobPayload,
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("PayloadOnlyString"),
|
||||
},
|
||||
},
|
||||
Payload: []byte(*expectEvents[6].(*PayloadOnlyStringEvent).StringPayload),
|
||||
},
|
||||
}
|
||||
|
||||
return expectEvents, eventMsgs
|
||||
}
|
||||
func TestGetEventStream_ReadException(t *testing.T) {
|
||||
expectEvents := []EventStreamEvent{
|
||||
&ExceptionEvent{
|
||||
IntVal: aws.Int64(123),
|
||||
Message_: aws.String("string value goes here"),
|
||||
},
|
||||
}
|
||||
|
||||
var marshalers request.HandlerList
|
||||
marshalers.PushBackNamed(restjson.BuildHandler)
|
||||
payloadMarshaler := protocol.HandlerPayloadMarshal{
|
||||
Marshalers: marshalers,
|
||||
}
|
||||
|
||||
eventMsgs := []eventstream.Message{
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventExceptionTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.ExceptionTypeHeader,
|
||||
Value: eventstream.StringValue("Exception"),
|
||||
},
|
||||
},
|
||||
Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[0]),
|
||||
},
|
||||
}
|
||||
|
||||
sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t,
|
||||
eventstreamtest.ServeEventStream{
|
||||
T: t,
|
||||
Events: eventMsgs,
|
||||
},
|
||||
true,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error, %v", err)
|
||||
}
|
||||
defer cleanupFn()
|
||||
|
||||
svc := New(sess)
|
||||
resp, err := svc.GetEventStream(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error got, %v", err)
|
||||
}
|
||||
|
||||
defer resp.EventStream.Close()
|
||||
|
||||
<-resp.EventStream.Events()
|
||||
|
||||
err = resp.EventStream.Err()
|
||||
if err == nil {
|
||||
t.Fatalf("expect err, got none")
|
||||
}
|
||||
|
||||
expectErr := &ExceptionEvent{
|
||||
IntVal: aws.Int64(123),
|
||||
Message_: aws.String("string value goes here"),
|
||||
}
|
||||
aerr, ok := err.(awserr.Error)
|
||||
if !ok {
|
||||
t.Errorf("expect exception, got %T, %#v", err, err)
|
||||
}
|
||||
if e, a := expectErr.Code(), aerr.Code(); e != a {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
if e, a := expectErr.Message(), aerr.Message(); e != a {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
|
||||
if e, a := expectErr, aerr; !reflect.DeepEqual(e, a) {
|
||||
t.Errorf("expect %#v, got %#v", e, a)
|
||||
}
|
||||
}
|
||||
|
||||
var _ awserr.Error = (*ExceptionEvent)(nil)
|
||||
|
||||
type loopReader struct {
|
||||
source *bytes.Reader
|
||||
}
|
||||
|
||||
func (c *loopReader) Read(p []byte) (int, error) {
|
||||
if c.source.Len() == 0 {
|
||||
c.source.Seek(0, 0)
|
||||
}
|
||||
|
||||
return c.source.Read(p)
|
||||
}
|
||||
72
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restjsonservice/restjsonserviceiface/interface.go
generated
vendored
Normal file
72
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restjsonservice/restjsonserviceiface/interface.go
generated
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
||||
|
||||
// Package restjsonserviceiface provides an interface to enable mocking the REST JSON Service service client
|
||||
// for testing your code.
|
||||
//
|
||||
// It is important to note that this interface will have breaking changes
|
||||
// when the service model is updated and adds new API operations, paginators,
|
||||
// and waiters.
|
||||
package restjsonserviceiface
|
||||
|
||||
import (
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/request"
|
||||
"github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restjsonservice"
|
||||
)
|
||||
|
||||
// RESTJSONServiceAPI provides an interface to enable mocking the
|
||||
// restjsonservice.RESTJSONService service client's API operation,
|
||||
// paginators, and waiters. This make unit testing your code that calls out
|
||||
// to the SDK's service client's calls easier.
|
||||
//
|
||||
// The best way to use this interface is so the SDK's service client's calls
|
||||
// can be stubbed out for unit testing your code with the SDK without needing
|
||||
// to inject custom request handlers into the SDK's request pipeline.
|
||||
//
|
||||
// // myFunc uses an SDK service client to make a request to
|
||||
// // REST JSON Service.
|
||||
// func myFunc(svc restjsonserviceiface.RESTJSONServiceAPI) bool {
|
||||
// // Make svc.EmptyStream request
|
||||
// }
|
||||
//
|
||||
// func main() {
|
||||
// sess := session.New()
|
||||
// svc := restjsonservice.New(sess)
|
||||
//
|
||||
// myFunc(svc)
|
||||
// }
|
||||
//
|
||||
// In your _test.go file:
|
||||
//
|
||||
// // Define a mock struct to be used in your unit tests of myFunc.
|
||||
// type mockRESTJSONServiceClient struct {
|
||||
// restjsonserviceiface.RESTJSONServiceAPI
|
||||
// }
|
||||
// func (m *mockRESTJSONServiceClient) EmptyStream(input *restjsonservice.EmptyStreamInput) (*restjsonservice.EmptyStreamOutput, error) {
|
||||
// // mock response/functionality
|
||||
// }
|
||||
//
|
||||
// func TestMyFunc(t *testing.T) {
|
||||
// // Setup Test
|
||||
// mockSvc := &mockRESTJSONServiceClient{}
|
||||
//
|
||||
// myfunc(mockSvc)
|
||||
//
|
||||
// // Verify myFunc's functionality
|
||||
// }
|
||||
//
|
||||
// It is important to note that this interface will have breaking changes
|
||||
// when the service model is updated and adds new API operations, paginators,
|
||||
// and waiters. Its suggested to use the pattern above for testing, or using
|
||||
// tooling to generate mocks to satisfy the interfaces.
|
||||
type RESTJSONServiceAPI interface {
|
||||
EmptyStream(*restjsonservice.EmptyStreamInput) (*restjsonservice.EmptyStreamOutput, error)
|
||||
EmptyStreamWithContext(aws.Context, *restjsonservice.EmptyStreamInput, ...request.Option) (*restjsonservice.EmptyStreamOutput, error)
|
||||
EmptyStreamRequest(*restjsonservice.EmptyStreamInput) (*request.Request, *restjsonservice.EmptyStreamOutput)
|
||||
|
||||
GetEventStream(*restjsonservice.GetEventStreamInput) (*restjsonservice.GetEventStreamOutput, error)
|
||||
GetEventStreamWithContext(aws.Context, *restjsonservice.GetEventStreamInput, ...request.Option) (*restjsonservice.GetEventStreamOutput, error)
|
||||
GetEventStreamRequest(*restjsonservice.GetEventStreamInput) (*request.Request, *restjsonservice.GetEventStreamOutput)
|
||||
}
|
||||
|
||||
var _ RESTJSONServiceAPI = (*restjsonservice.RESTJSONService)(nil)
|
||||
99
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restjsonservice/service.go
generated
vendored
Normal file
99
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restjsonservice/service.go
generated
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
||||
|
||||
package restjsonservice
|
||||
|
||||
import (
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/client"
|
||||
"github.com/aws/aws-sdk-go/aws/client/metadata"
|
||||
"github.com/aws/aws-sdk-go/aws/request"
|
||||
"github.com/aws/aws-sdk-go/aws/signer/v4"
|
||||
"github.com/aws/aws-sdk-go/private/protocol/restjson"
|
||||
)
|
||||
|
||||
// RESTJSONService provides the API operation methods for making requests to
|
||||
// REST JSON Service. See this package's package overview docs
|
||||
// for details on the service.
|
||||
//
|
||||
// RESTJSONService methods are safe to use concurrently. It is not safe to
|
||||
// modify mutate any of the struct's properties though.
|
||||
type RESTJSONService struct {
|
||||
*client.Client
|
||||
}
|
||||
|
||||
// Used for custom client initialization logic
|
||||
var initClient func(*client.Client)
|
||||
|
||||
// Used for custom request initialization logic
|
||||
var initRequest func(*request.Request)
|
||||
|
||||
// Service information constants
|
||||
const (
|
||||
ServiceName = "RESTJSONService" // Name of service.
|
||||
EndpointsID = "restjsonservice" // ID to lookup a service endpoint with.
|
||||
ServiceID = "RESTJSONService" // ServiceID is a unique identifer of a specific service.
|
||||
)
|
||||
|
||||
// New creates a new instance of the RESTJSONService client with a session.
|
||||
// If additional configuration is needed for the client instance use the optional
|
||||
// aws.Config parameter to add your extra config.
|
||||
//
|
||||
// Example:
|
||||
// // Create a RESTJSONService client from just a session.
|
||||
// svc := restjsonservice.New(mySession)
|
||||
//
|
||||
// // Create a RESTJSONService client with additional configuration
|
||||
// svc := restjsonservice.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
|
||||
func New(p client.ConfigProvider, cfgs ...*aws.Config) *RESTJSONService {
|
||||
c := p.ClientConfig(EndpointsID, cfgs...)
|
||||
return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName)
|
||||
}
|
||||
|
||||
// newClient creates, initializes and returns a new service client instance.
|
||||
func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *RESTJSONService {
|
||||
svc := &RESTJSONService{
|
||||
Client: client.New(
|
||||
cfg,
|
||||
metadata.ClientInfo{
|
||||
ServiceName: ServiceName,
|
||||
ServiceID: ServiceID,
|
||||
SigningName: signingName,
|
||||
SigningRegion: signingRegion,
|
||||
Endpoint: endpoint,
|
||||
APIVersion: "0000-00-00",
|
||||
JSONVersion: "1.1",
|
||||
TargetPrefix: "RESTJSONService_00000000",
|
||||
},
|
||||
handlers,
|
||||
),
|
||||
}
|
||||
|
||||
// Handlers
|
||||
svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
|
||||
svc.Handlers.Build.PushBackNamed(restjson.BuildHandler)
|
||||
svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler)
|
||||
svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler)
|
||||
svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler)
|
||||
|
||||
svc.Handlers.UnmarshalStream.PushBackNamed(restjson.UnmarshalHandler)
|
||||
|
||||
// Run custom client initialization if present
|
||||
if initClient != nil {
|
||||
initClient(svc.Client)
|
||||
}
|
||||
|
||||
return svc
|
||||
}
|
||||
|
||||
// newRequest creates a new request for a RESTJSONService operation and runs any
|
||||
// custom request initialization.
|
||||
func (c *RESTJSONService) newRequest(op *request.Operation, params, data interface{}) *request.Request {
|
||||
req := c.NewRequest(op, params, data)
|
||||
|
||||
// Run custom request initialization if present
|
||||
if initRequest != nil {
|
||||
initRequest(req)
|
||||
}
|
||||
|
||||
return req
|
||||
}
|
||||
1202
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restxmlservice/api.go
generated
vendored
Normal file
1202
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restxmlservice/api.go
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
26
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restxmlservice/doc.go
generated
vendored
Normal file
26
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restxmlservice/doc.go
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
||||
|
||||
// Package restxmlservice provides the client and types for making API
|
||||
// requests to REST XML Service.
|
||||
//
|
||||
// See https://docs.aws.amazon.com/goto/WebAPI/RESTXMLService-0000-00-00 for more information on this service.
|
||||
//
|
||||
// See restxmlservice package documentation for more information.
|
||||
// https://docs.aws.amazon.com/sdk-for-go/api/service/restxmlservice/
|
||||
//
|
||||
// Using the Client
|
||||
//
|
||||
// To contact REST XML Service with the SDK use the New function to create
|
||||
// a new service client. With that client you can make API requests to the service.
|
||||
// These clients are safe to use concurrently.
|
||||
//
|
||||
// See the SDK's documentation for more information on how to use the SDK.
|
||||
// https://docs.aws.amazon.com/sdk-for-go/api/
|
||||
//
|
||||
// See aws.Config documentation for more information on configuring SDK clients.
|
||||
// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
|
||||
//
|
||||
// See the REST XML Service client RESTXMLService for more
|
||||
// information on creating client for this service.
|
||||
// https://docs.aws.amazon.com/sdk-for-go/api/service/restxmlservice/#New
|
||||
package restxmlservice
|
||||
3
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restxmlservice/errors.go
generated
vendored
Normal file
3
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restxmlservice/errors.go
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
||||
|
||||
package restxmlservice
|
||||
525
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restxmlservice/eventstream_test.go
generated
vendored
Normal file
525
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restxmlservice/eventstream_test.go
generated
vendored
Normal file
@@ -0,0 +1,525 @@
|
||||
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
||||
|
||||
// +build go1.6
|
||||
|
||||
package restxmlservice
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"reflect"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
"github.com/aws/aws-sdk-go/aws/corehandlers"
|
||||
"github.com/aws/aws-sdk-go/aws/request"
|
||||
"github.com/aws/aws-sdk-go/awstesting/unit"
|
||||
"github.com/aws/aws-sdk-go/private/protocol"
|
||||
"github.com/aws/aws-sdk-go/private/protocol/eventstream"
|
||||
"github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi"
|
||||
"github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamtest"
|
||||
"github.com/aws/aws-sdk-go/private/protocol/restxml"
|
||||
)
|
||||
|
||||
var _ time.Time
|
||||
var _ awserr.Error
|
||||
|
||||
func TestEmptyStream_Read(t *testing.T) {
|
||||
expectEvents, eventMsgs := mockEmptyStreamReadEvents()
|
||||
sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t,
|
||||
eventstreamtest.ServeEventStream{
|
||||
T: t,
|
||||
Events: eventMsgs,
|
||||
},
|
||||
true,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error, %v", err)
|
||||
}
|
||||
defer cleanupFn()
|
||||
|
||||
svc := New(sess)
|
||||
resp, err := svc.EmptyStream(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error got, %v", err)
|
||||
}
|
||||
defer resp.EventStream.Close()
|
||||
|
||||
var i int
|
||||
for event := range resp.EventStream.Events() {
|
||||
if event == nil {
|
||||
t.Errorf("%d, expect event, got nil", i)
|
||||
}
|
||||
if e, a := expectEvents[i], event; !reflect.DeepEqual(e, a) {
|
||||
t.Errorf("%d, expect %T %v, got %T %v", i, e, e, a, a)
|
||||
}
|
||||
i++
|
||||
}
|
||||
|
||||
if err := resp.EventStream.Err(); err != nil {
|
||||
t.Errorf("expect no error, %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestEmptyStream_ReadClose(t *testing.T) {
|
||||
_, eventMsgs := mockEmptyStreamReadEvents()
|
||||
sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t,
|
||||
eventstreamtest.ServeEventStream{
|
||||
T: t,
|
||||
Events: eventMsgs,
|
||||
},
|
||||
true,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error, %v", err)
|
||||
}
|
||||
defer cleanupFn()
|
||||
|
||||
svc := New(sess)
|
||||
resp, err := svc.EmptyStream(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error got, %v", err)
|
||||
}
|
||||
|
||||
resp.EventStream.Close()
|
||||
<-resp.EventStream.Events()
|
||||
|
||||
if err := resp.EventStream.Err(); err != nil {
|
||||
t.Errorf("expect no error, %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkEmptyStream_Read(b *testing.B) {
|
||||
_, eventMsgs := mockEmptyStreamReadEvents()
|
||||
var buf bytes.Buffer
|
||||
encoder := eventstream.NewEncoder(&buf)
|
||||
for _, msg := range eventMsgs {
|
||||
if err := encoder.Encode(msg); err != nil {
|
||||
b.Fatalf("failed to encode message, %v", err)
|
||||
}
|
||||
}
|
||||
stream := &loopReader{source: bytes.NewReader(buf.Bytes())}
|
||||
|
||||
sess := unit.Session
|
||||
svc := New(sess, &aws.Config{
|
||||
Endpoint: aws.String("https://example.com"),
|
||||
DisableParamValidation: aws.Bool(true),
|
||||
})
|
||||
svc.Handlers.Send.Swap(corehandlers.SendHandler.Name,
|
||||
request.NamedHandler{Name: "mockSend",
|
||||
Fn: func(r *request.Request) {
|
||||
r.HTTPResponse = &http.Response{
|
||||
Status: "200 OK",
|
||||
StatusCode: 200,
|
||||
Header: http.Header{},
|
||||
Body: ioutil.NopCloser(stream),
|
||||
}
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
resp, err := svc.EmptyStream(nil)
|
||||
if err != nil {
|
||||
b.Fatalf("failed to create request, %v", err)
|
||||
}
|
||||
defer resp.EventStream.Close()
|
||||
b.ResetTimer()
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
if err = resp.EventStream.Err(); err != nil {
|
||||
b.Fatalf("expect no error, got %v", err)
|
||||
}
|
||||
event := <-resp.EventStream.Events()
|
||||
if event == nil {
|
||||
b.Fatalf("expect event, got nil, %v, %d", resp.EventStream.Err(), i)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func mockEmptyStreamReadEvents() (
|
||||
[]EmptyEventStreamEvent,
|
||||
[]eventstream.Message,
|
||||
) {
|
||||
expectEvents := []EmptyEventStreamEvent{}
|
||||
|
||||
var marshalers request.HandlerList
|
||||
marshalers.PushBackNamed(restxml.BuildHandler)
|
||||
payloadMarshaler := protocol.HandlerPayloadMarshal{
|
||||
Marshalers: marshalers,
|
||||
}
|
||||
_ = payloadMarshaler
|
||||
|
||||
eventMsgs := []eventstream.Message{}
|
||||
|
||||
return expectEvents, eventMsgs
|
||||
}
|
||||
|
||||
func TestGetEventStream_Read(t *testing.T) {
|
||||
expectEvents, eventMsgs := mockGetEventStreamReadEvents()
|
||||
sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t,
|
||||
eventstreamtest.ServeEventStream{
|
||||
T: t,
|
||||
Events: eventMsgs,
|
||||
},
|
||||
true,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error, %v", err)
|
||||
}
|
||||
defer cleanupFn()
|
||||
|
||||
svc := New(sess)
|
||||
resp, err := svc.GetEventStream(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error got, %v", err)
|
||||
}
|
||||
defer resp.EventStream.Close()
|
||||
|
||||
var i int
|
||||
for event := range resp.EventStream.Events() {
|
||||
if event == nil {
|
||||
t.Errorf("%d, expect event, got nil", i)
|
||||
}
|
||||
if e, a := expectEvents[i], event; !reflect.DeepEqual(e, a) {
|
||||
t.Errorf("%d, expect %T %v, got %T %v", i, e, e, a, a)
|
||||
}
|
||||
i++
|
||||
}
|
||||
|
||||
if err := resp.EventStream.Err(); err != nil {
|
||||
t.Errorf("expect no error, %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetEventStream_ReadClose(t *testing.T) {
|
||||
_, eventMsgs := mockGetEventStreamReadEvents()
|
||||
sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t,
|
||||
eventstreamtest.ServeEventStream{
|
||||
T: t,
|
||||
Events: eventMsgs,
|
||||
},
|
||||
true,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error, %v", err)
|
||||
}
|
||||
defer cleanupFn()
|
||||
|
||||
svc := New(sess)
|
||||
resp, err := svc.GetEventStream(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error got, %v", err)
|
||||
}
|
||||
|
||||
resp.EventStream.Close()
|
||||
<-resp.EventStream.Events()
|
||||
|
||||
if err := resp.EventStream.Err(); err != nil {
|
||||
t.Errorf("expect no error, %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkGetEventStream_Read(b *testing.B) {
|
||||
_, eventMsgs := mockGetEventStreamReadEvents()
|
||||
var buf bytes.Buffer
|
||||
encoder := eventstream.NewEncoder(&buf)
|
||||
for _, msg := range eventMsgs {
|
||||
if err := encoder.Encode(msg); err != nil {
|
||||
b.Fatalf("failed to encode message, %v", err)
|
||||
}
|
||||
}
|
||||
stream := &loopReader{source: bytes.NewReader(buf.Bytes())}
|
||||
|
||||
sess := unit.Session
|
||||
svc := New(sess, &aws.Config{
|
||||
Endpoint: aws.String("https://example.com"),
|
||||
DisableParamValidation: aws.Bool(true),
|
||||
})
|
||||
svc.Handlers.Send.Swap(corehandlers.SendHandler.Name,
|
||||
request.NamedHandler{Name: "mockSend",
|
||||
Fn: func(r *request.Request) {
|
||||
r.HTTPResponse = &http.Response{
|
||||
Status: "200 OK",
|
||||
StatusCode: 200,
|
||||
Header: http.Header{},
|
||||
Body: ioutil.NopCloser(stream),
|
||||
}
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
resp, err := svc.GetEventStream(nil)
|
||||
if err != nil {
|
||||
b.Fatalf("failed to create request, %v", err)
|
||||
}
|
||||
defer resp.EventStream.Close()
|
||||
b.ResetTimer()
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
if err = resp.EventStream.Err(); err != nil {
|
||||
b.Fatalf("expect no error, got %v", err)
|
||||
}
|
||||
event := <-resp.EventStream.Events()
|
||||
if event == nil {
|
||||
b.Fatalf("expect event, got nil, %v, %d", resp.EventStream.Err(), i)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func mockGetEventStreamReadEvents() (
|
||||
[]EventStreamEvent,
|
||||
[]eventstream.Message,
|
||||
) {
|
||||
expectEvents := []EventStreamEvent{
|
||||
&EmptyEvent{},
|
||||
&ExplicitPayloadEvent{
|
||||
LongVal: aws.Int64(1234),
|
||||
NestedVal: &NestedShape{
|
||||
IntVal: aws.Int64(123),
|
||||
StrVal: aws.String("string value goes here"),
|
||||
},
|
||||
StringVal: aws.String("string value goes here"),
|
||||
},
|
||||
&HeaderOnlyEvent{
|
||||
BlobVal: []byte("blob value goes here"),
|
||||
BoolVal: aws.Bool(true),
|
||||
ByteVal: aws.Int64(1),
|
||||
IntegerVal: aws.Int64(123),
|
||||
LongVal: aws.Int64(1234),
|
||||
ShortVal: aws.Int64(12),
|
||||
StringVal: aws.String("string value goes here"),
|
||||
TimeVal: aws.Time(time.Unix(1396594860, 0).UTC()),
|
||||
},
|
||||
&ImplicitPayloadEvent{
|
||||
ByteVal: aws.Int64(1),
|
||||
IntegerVal: aws.Int64(123),
|
||||
ShortVal: aws.Int64(12),
|
||||
},
|
||||
&PayloadOnlyEvent{
|
||||
NestedVal: &NestedShape{
|
||||
IntVal: aws.Int64(123),
|
||||
StrVal: aws.String("string value goes here"),
|
||||
},
|
||||
},
|
||||
&PayloadOnlyBlobEvent{
|
||||
BlobPayload: []byte("blob value goes here"),
|
||||
},
|
||||
&PayloadOnlyStringEvent{
|
||||
StringPayload: aws.String("string value goes here"),
|
||||
},
|
||||
}
|
||||
|
||||
var marshalers request.HandlerList
|
||||
marshalers.PushBackNamed(restxml.BuildHandler)
|
||||
payloadMarshaler := protocol.HandlerPayloadMarshal{
|
||||
Marshalers: marshalers,
|
||||
}
|
||||
_ = payloadMarshaler
|
||||
|
||||
eventMsgs := []eventstream.Message{
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("Empty"),
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("ExplicitPayload"),
|
||||
},
|
||||
{
|
||||
Name: "LongVal",
|
||||
Value: eventstream.Int64Value(*expectEvents[1].(*ExplicitPayloadEvent).LongVal),
|
||||
},
|
||||
{
|
||||
Name: "StringVal",
|
||||
Value: eventstream.StringValue(*expectEvents[1].(*ExplicitPayloadEvent).StringVal),
|
||||
},
|
||||
},
|
||||
Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[1]),
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("Headers"),
|
||||
},
|
||||
{
|
||||
Name: "BlobVal",
|
||||
Value: eventstream.BytesValue(expectEvents[2].(*HeaderOnlyEvent).BlobVal),
|
||||
},
|
||||
{
|
||||
Name: "BoolVal",
|
||||
Value: eventstream.BoolValue(*expectEvents[2].(*HeaderOnlyEvent).BoolVal),
|
||||
},
|
||||
{
|
||||
Name: "ByteVal",
|
||||
Value: eventstream.Int8Value(int8(*expectEvents[2].(*HeaderOnlyEvent).ByteVal)),
|
||||
},
|
||||
{
|
||||
Name: "IntegerVal",
|
||||
Value: eventstream.Int32Value(int32(*expectEvents[2].(*HeaderOnlyEvent).IntegerVal)),
|
||||
},
|
||||
{
|
||||
Name: "LongVal",
|
||||
Value: eventstream.Int64Value(*expectEvents[2].(*HeaderOnlyEvent).LongVal),
|
||||
},
|
||||
{
|
||||
Name: "ShortVal",
|
||||
Value: eventstream.Int16Value(int16(*expectEvents[2].(*HeaderOnlyEvent).ShortVal)),
|
||||
},
|
||||
{
|
||||
Name: "StringVal",
|
||||
Value: eventstream.StringValue(*expectEvents[2].(*HeaderOnlyEvent).StringVal),
|
||||
},
|
||||
{
|
||||
Name: "TimeVal",
|
||||
Value: eventstream.TimestampValue(*expectEvents[2].(*HeaderOnlyEvent).TimeVal),
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("ImplicitPayload"),
|
||||
},
|
||||
{
|
||||
Name: "ByteVal",
|
||||
Value: eventstream.Int8Value(int8(*expectEvents[3].(*ImplicitPayloadEvent).ByteVal)),
|
||||
},
|
||||
},
|
||||
Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[3]),
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("PayloadOnly"),
|
||||
},
|
||||
},
|
||||
Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[4]),
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("PayloadOnlyBlob"),
|
||||
},
|
||||
},
|
||||
Payload: expectEvents[5].(*PayloadOnlyBlobEvent).BlobPayload,
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("PayloadOnlyString"),
|
||||
},
|
||||
},
|
||||
Payload: []byte(*expectEvents[6].(*PayloadOnlyStringEvent).StringPayload),
|
||||
},
|
||||
}
|
||||
|
||||
return expectEvents, eventMsgs
|
||||
}
|
||||
func TestGetEventStream_ReadException(t *testing.T) {
|
||||
expectEvents := []EventStreamEvent{
|
||||
&ExceptionEvent{
|
||||
IntVal: aws.Int64(123),
|
||||
Message_: aws.String("string value goes here"),
|
||||
},
|
||||
}
|
||||
|
||||
var marshalers request.HandlerList
|
||||
marshalers.PushBackNamed(restxml.BuildHandler)
|
||||
payloadMarshaler := protocol.HandlerPayloadMarshal{
|
||||
Marshalers: marshalers,
|
||||
}
|
||||
|
||||
eventMsgs := []eventstream.Message{
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventExceptionTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.ExceptionTypeHeader,
|
||||
Value: eventstream.StringValue("Exception"),
|
||||
},
|
||||
},
|
||||
Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[0]),
|
||||
},
|
||||
}
|
||||
|
||||
sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t,
|
||||
eventstreamtest.ServeEventStream{
|
||||
T: t,
|
||||
Events: eventMsgs,
|
||||
},
|
||||
true,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error, %v", err)
|
||||
}
|
||||
defer cleanupFn()
|
||||
|
||||
svc := New(sess)
|
||||
resp, err := svc.GetEventStream(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error got, %v", err)
|
||||
}
|
||||
|
||||
defer resp.EventStream.Close()
|
||||
|
||||
<-resp.EventStream.Events()
|
||||
|
||||
err = resp.EventStream.Err()
|
||||
if err == nil {
|
||||
t.Fatalf("expect err, got none")
|
||||
}
|
||||
|
||||
expectErr := &ExceptionEvent{
|
||||
IntVal: aws.Int64(123),
|
||||
Message_: aws.String("string value goes here"),
|
||||
}
|
||||
aerr, ok := err.(awserr.Error)
|
||||
if !ok {
|
||||
t.Errorf("expect exception, got %T, %#v", err, err)
|
||||
}
|
||||
if e, a := expectErr.Code(), aerr.Code(); e != a {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
if e, a := expectErr.Message(), aerr.Message(); e != a {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
|
||||
if e, a := expectErr, aerr; !reflect.DeepEqual(e, a) {
|
||||
t.Errorf("expect %#v, got %#v", e, a)
|
||||
}
|
||||
}
|
||||
|
||||
var _ awserr.Error = (*ExceptionEvent)(nil)
|
||||
|
||||
type loopReader struct {
|
||||
source *bytes.Reader
|
||||
}
|
||||
|
||||
func (c *loopReader) Read(p []byte) (int, error) {
|
||||
if c.source.Len() == 0 {
|
||||
c.source.Seek(0, 0)
|
||||
}
|
||||
|
||||
return c.source.Read(p)
|
||||
}
|
||||
72
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restxmlservice/restxmlserviceiface/interface.go
generated
vendored
Normal file
72
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restxmlservice/restxmlserviceiface/interface.go
generated
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
||||
|
||||
// Package restxmlserviceiface provides an interface to enable mocking the REST XML Service service client
|
||||
// for testing your code.
|
||||
//
|
||||
// It is important to note that this interface will have breaking changes
|
||||
// when the service model is updated and adds new API operations, paginators,
|
||||
// and waiters.
|
||||
package restxmlserviceiface
|
||||
|
||||
import (
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/request"
|
||||
"github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restxmlservice"
|
||||
)
|
||||
|
||||
// RESTXMLServiceAPI provides an interface to enable mocking the
|
||||
// restxmlservice.RESTXMLService service client's API operation,
|
||||
// paginators, and waiters. This make unit testing your code that calls out
|
||||
// to the SDK's service client's calls easier.
|
||||
//
|
||||
// The best way to use this interface is so the SDK's service client's calls
|
||||
// can be stubbed out for unit testing your code with the SDK without needing
|
||||
// to inject custom request handlers into the SDK's request pipeline.
|
||||
//
|
||||
// // myFunc uses an SDK service client to make a request to
|
||||
// // REST XML Service.
|
||||
// func myFunc(svc restxmlserviceiface.RESTXMLServiceAPI) bool {
|
||||
// // Make svc.EmptyStream request
|
||||
// }
|
||||
//
|
||||
// func main() {
|
||||
// sess := session.New()
|
||||
// svc := restxmlservice.New(sess)
|
||||
//
|
||||
// myFunc(svc)
|
||||
// }
|
||||
//
|
||||
// In your _test.go file:
|
||||
//
|
||||
// // Define a mock struct to be used in your unit tests of myFunc.
|
||||
// type mockRESTXMLServiceClient struct {
|
||||
// restxmlserviceiface.RESTXMLServiceAPI
|
||||
// }
|
||||
// func (m *mockRESTXMLServiceClient) EmptyStream(input *restxmlservice.EmptyStreamInput) (*restxmlservice.EmptyStreamOutput, error) {
|
||||
// // mock response/functionality
|
||||
// }
|
||||
//
|
||||
// func TestMyFunc(t *testing.T) {
|
||||
// // Setup Test
|
||||
// mockSvc := &mockRESTXMLServiceClient{}
|
||||
//
|
||||
// myfunc(mockSvc)
|
||||
//
|
||||
// // Verify myFunc's functionality
|
||||
// }
|
||||
//
|
||||
// It is important to note that this interface will have breaking changes
|
||||
// when the service model is updated and adds new API operations, paginators,
|
||||
// and waiters. Its suggested to use the pattern above for testing, or using
|
||||
// tooling to generate mocks to satisfy the interfaces.
|
||||
type RESTXMLServiceAPI interface {
|
||||
EmptyStream(*restxmlservice.EmptyStreamInput) (*restxmlservice.EmptyStreamOutput, error)
|
||||
EmptyStreamWithContext(aws.Context, *restxmlservice.EmptyStreamInput, ...request.Option) (*restxmlservice.EmptyStreamOutput, error)
|
||||
EmptyStreamRequest(*restxmlservice.EmptyStreamInput) (*request.Request, *restxmlservice.EmptyStreamOutput)
|
||||
|
||||
GetEventStream(*restxmlservice.GetEventStreamInput) (*restxmlservice.GetEventStreamOutput, error)
|
||||
GetEventStreamWithContext(aws.Context, *restxmlservice.GetEventStreamInput, ...request.Option) (*restxmlservice.GetEventStreamOutput, error)
|
||||
GetEventStreamRequest(*restxmlservice.GetEventStreamInput) (*request.Request, *restxmlservice.GetEventStreamOutput)
|
||||
}
|
||||
|
||||
var _ RESTXMLServiceAPI = (*restxmlservice.RESTXMLService)(nil)
|
||||
99
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restxmlservice/service.go
generated
vendored
Normal file
99
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/restxmlservice/service.go
generated
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
||||
|
||||
package restxmlservice
|
||||
|
||||
import (
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/client"
|
||||
"github.com/aws/aws-sdk-go/aws/client/metadata"
|
||||
"github.com/aws/aws-sdk-go/aws/request"
|
||||
"github.com/aws/aws-sdk-go/aws/signer/v4"
|
||||
"github.com/aws/aws-sdk-go/private/protocol/restxml"
|
||||
)
|
||||
|
||||
// RESTXMLService provides the API operation methods for making requests to
|
||||
// REST XML Service. See this package's package overview docs
|
||||
// for details on the service.
|
||||
//
|
||||
// RESTXMLService methods are safe to use concurrently. It is not safe to
|
||||
// modify mutate any of the struct's properties though.
|
||||
type RESTXMLService struct {
|
||||
*client.Client
|
||||
}
|
||||
|
||||
// Used for custom client initialization logic
|
||||
var initClient func(*client.Client)
|
||||
|
||||
// Used for custom request initialization logic
|
||||
var initRequest func(*request.Request)
|
||||
|
||||
// Service information constants
|
||||
const (
|
||||
ServiceName = "RESTXMLService" // Name of service.
|
||||
EndpointsID = "restxmlservice" // ID to lookup a service endpoint with.
|
||||
ServiceID = "RESTXMLService" // ServiceID is a unique identifer of a specific service.
|
||||
)
|
||||
|
||||
// New creates a new instance of the RESTXMLService client with a session.
|
||||
// If additional configuration is needed for the client instance use the optional
|
||||
// aws.Config parameter to add your extra config.
|
||||
//
|
||||
// Example:
|
||||
// // Create a RESTXMLService client from just a session.
|
||||
// svc := restxmlservice.New(mySession)
|
||||
//
|
||||
// // Create a RESTXMLService client with additional configuration
|
||||
// svc := restxmlservice.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
|
||||
func New(p client.ConfigProvider, cfgs ...*aws.Config) *RESTXMLService {
|
||||
c := p.ClientConfig(EndpointsID, cfgs...)
|
||||
return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName)
|
||||
}
|
||||
|
||||
// newClient creates, initializes and returns a new service client instance.
|
||||
func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *RESTXMLService {
|
||||
svc := &RESTXMLService{
|
||||
Client: client.New(
|
||||
cfg,
|
||||
metadata.ClientInfo{
|
||||
ServiceName: ServiceName,
|
||||
ServiceID: ServiceID,
|
||||
SigningName: signingName,
|
||||
SigningRegion: signingRegion,
|
||||
Endpoint: endpoint,
|
||||
APIVersion: "0000-00-00",
|
||||
JSONVersion: "1.1",
|
||||
TargetPrefix: "RESTXMLService_00000000",
|
||||
},
|
||||
handlers,
|
||||
),
|
||||
}
|
||||
|
||||
// Handlers
|
||||
svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
|
||||
svc.Handlers.Build.PushBackNamed(restxml.BuildHandler)
|
||||
svc.Handlers.Unmarshal.PushBackNamed(restxml.UnmarshalHandler)
|
||||
svc.Handlers.UnmarshalMeta.PushBackNamed(restxml.UnmarshalMetaHandler)
|
||||
svc.Handlers.UnmarshalError.PushBackNamed(restxml.UnmarshalErrorHandler)
|
||||
|
||||
svc.Handlers.UnmarshalStream.PushBackNamed(restxml.UnmarshalHandler)
|
||||
|
||||
// Run custom client initialization if present
|
||||
if initClient != nil {
|
||||
initClient(svc.Client)
|
||||
}
|
||||
|
||||
return svc
|
||||
}
|
||||
|
||||
// newRequest creates a new request for a RESTXMLService operation and runs any
|
||||
// custom request initialization.
|
||||
func (c *RESTXMLService) newRequest(op *request.Operation, params, data interface{}) *request.Request {
|
||||
req := c.NewRequest(op, params, data)
|
||||
|
||||
// Run custom request initialization if present
|
||||
if initRequest != nil {
|
||||
initRequest(req)
|
||||
}
|
||||
|
||||
return req
|
||||
}
|
||||
1299
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/rpcservice/api.go
generated
vendored
Normal file
1299
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/rpcservice/api.go
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
26
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/rpcservice/doc.go
generated
vendored
Normal file
26
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/rpcservice/doc.go
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
||||
|
||||
// Package rpcservice provides the client and types for making API
|
||||
// requests to RPC Service.
|
||||
//
|
||||
// See https://docs.aws.amazon.com/goto/WebAPI/RPCService-0000-00-00 for more information on this service.
|
||||
//
|
||||
// See rpcservice package documentation for more information.
|
||||
// https://docs.aws.amazon.com/sdk-for-go/api/service/rpcservice/
|
||||
//
|
||||
// Using the Client
|
||||
//
|
||||
// To contact RPC Service with the SDK use the New function to create
|
||||
// a new service client. With that client you can make API requests to the service.
|
||||
// These clients are safe to use concurrently.
|
||||
//
|
||||
// See the SDK's documentation for more information on how to use the SDK.
|
||||
// https://docs.aws.amazon.com/sdk-for-go/api/
|
||||
//
|
||||
// See aws.Config documentation for more information on configuring SDK clients.
|
||||
// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
|
||||
//
|
||||
// See the RPC Service client RPCService for more
|
||||
// information on creating client for this service.
|
||||
// https://docs.aws.amazon.com/sdk-for-go/api/service/rpcservice/#New
|
||||
package rpcservice
|
||||
3
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/rpcservice/errors.go
generated
vendored
Normal file
3
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/rpcservice/errors.go
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
||||
|
||||
package rpcservice
|
||||
575
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/rpcservice/eventstream_test.go
generated
vendored
Normal file
575
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/rpcservice/eventstream_test.go
generated
vendored
Normal file
@@ -0,0 +1,575 @@
|
||||
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
||||
|
||||
// +build go1.6
|
||||
|
||||
package rpcservice
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"reflect"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
"github.com/aws/aws-sdk-go/aws/corehandlers"
|
||||
"github.com/aws/aws-sdk-go/aws/request"
|
||||
"github.com/aws/aws-sdk-go/awstesting/unit"
|
||||
"github.com/aws/aws-sdk-go/private/protocol"
|
||||
"github.com/aws/aws-sdk-go/private/protocol/eventstream"
|
||||
"github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi"
|
||||
"github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamtest"
|
||||
"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
|
||||
)
|
||||
|
||||
var _ time.Time
|
||||
var _ awserr.Error
|
||||
|
||||
func TestEmptyStream_Read(t *testing.T) {
|
||||
expectEvents, eventMsgs := mockEmptyStreamReadEvents()
|
||||
sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t,
|
||||
eventstreamtest.ServeEventStream{
|
||||
T: t,
|
||||
Events: eventMsgs,
|
||||
},
|
||||
true,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error, %v", err)
|
||||
}
|
||||
defer cleanupFn()
|
||||
|
||||
svc := New(sess)
|
||||
resp, err := svc.EmptyStream(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error got, %v", err)
|
||||
}
|
||||
defer resp.EventStream.Close()
|
||||
|
||||
var i int
|
||||
for event := range resp.EventStream.Events() {
|
||||
if event == nil {
|
||||
t.Errorf("%d, expect event, got nil", i)
|
||||
}
|
||||
if e, a := expectEvents[i], event; !reflect.DeepEqual(e, a) {
|
||||
t.Errorf("%d, expect %T %v, got %T %v", i, e, e, a, a)
|
||||
}
|
||||
i++
|
||||
}
|
||||
|
||||
if err := resp.EventStream.Err(); err != nil {
|
||||
t.Errorf("expect no error, %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestEmptyStream_ReadClose(t *testing.T) {
|
||||
_, eventMsgs := mockEmptyStreamReadEvents()
|
||||
sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t,
|
||||
eventstreamtest.ServeEventStream{
|
||||
T: t,
|
||||
Events: eventMsgs,
|
||||
},
|
||||
true,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error, %v", err)
|
||||
}
|
||||
defer cleanupFn()
|
||||
|
||||
svc := New(sess)
|
||||
resp, err := svc.EmptyStream(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error got, %v", err)
|
||||
}
|
||||
|
||||
resp.EventStream.Close()
|
||||
<-resp.EventStream.Events()
|
||||
|
||||
if err := resp.EventStream.Err(); err != nil {
|
||||
t.Errorf("expect no error, %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkEmptyStream_Read(b *testing.B) {
|
||||
_, eventMsgs := mockEmptyStreamReadEvents()
|
||||
var buf bytes.Buffer
|
||||
encoder := eventstream.NewEncoder(&buf)
|
||||
for _, msg := range eventMsgs {
|
||||
if err := encoder.Encode(msg); err != nil {
|
||||
b.Fatalf("failed to encode message, %v", err)
|
||||
}
|
||||
}
|
||||
stream := &loopReader{source: bytes.NewReader(buf.Bytes())}
|
||||
|
||||
sess := unit.Session
|
||||
svc := New(sess, &aws.Config{
|
||||
Endpoint: aws.String("https://example.com"),
|
||||
DisableParamValidation: aws.Bool(true),
|
||||
})
|
||||
svc.Handlers.Send.Swap(corehandlers.SendHandler.Name,
|
||||
request.NamedHandler{Name: "mockSend",
|
||||
Fn: func(r *request.Request) {
|
||||
r.HTTPResponse = &http.Response{
|
||||
Status: "200 OK",
|
||||
StatusCode: 200,
|
||||
Header: http.Header{},
|
||||
Body: ioutil.NopCloser(stream),
|
||||
}
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
resp, err := svc.EmptyStream(nil)
|
||||
if err != nil {
|
||||
b.Fatalf("failed to create request, %v", err)
|
||||
}
|
||||
defer resp.EventStream.Close()
|
||||
b.ResetTimer()
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
if err = resp.EventStream.Err(); err != nil {
|
||||
b.Fatalf("expect no error, got %v", err)
|
||||
}
|
||||
event := <-resp.EventStream.Events()
|
||||
if event == nil {
|
||||
b.Fatalf("expect event, got nil, %v, %d", resp.EventStream.Err(), i)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func mockEmptyStreamReadEvents() (
|
||||
[]EmptyEventStreamEvent,
|
||||
[]eventstream.Message,
|
||||
) {
|
||||
expectEvents := []EmptyEventStreamEvent{
|
||||
&EmptyStreamOutput{},
|
||||
}
|
||||
|
||||
var marshalers request.HandlerList
|
||||
marshalers.PushBackNamed(jsonrpc.BuildHandler)
|
||||
payloadMarshaler := protocol.HandlerPayloadMarshal{
|
||||
Marshalers: marshalers,
|
||||
}
|
||||
_ = payloadMarshaler
|
||||
|
||||
eventMsgs := []eventstream.Message{
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("initial-response"),
|
||||
},
|
||||
},
|
||||
Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[0]),
|
||||
},
|
||||
}
|
||||
|
||||
return expectEvents, eventMsgs
|
||||
}
|
||||
|
||||
func TestGetEventStream_Read(t *testing.T) {
|
||||
expectEvents, eventMsgs := mockGetEventStreamReadEvents()
|
||||
sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t,
|
||||
eventstreamtest.ServeEventStream{
|
||||
T: t,
|
||||
Events: eventMsgs,
|
||||
},
|
||||
true,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error, %v", err)
|
||||
}
|
||||
defer cleanupFn()
|
||||
|
||||
svc := New(sess)
|
||||
resp, err := svc.GetEventStream(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error got, %v", err)
|
||||
}
|
||||
defer resp.EventStream.Close()
|
||||
expectResp := expectEvents[0].(*GetEventStreamOutput)
|
||||
if e, a := expectResp.IntVal, resp.IntVal; !reflect.DeepEqual(e, a) {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
if e, a := expectResp.StrVal, resp.StrVal; !reflect.DeepEqual(e, a) {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
// Trim off response output type pseudo event so only event messages remain.
|
||||
expectEvents = expectEvents[1:]
|
||||
|
||||
var i int
|
||||
for event := range resp.EventStream.Events() {
|
||||
if event == nil {
|
||||
t.Errorf("%d, expect event, got nil", i)
|
||||
}
|
||||
if e, a := expectEvents[i], event; !reflect.DeepEqual(e, a) {
|
||||
t.Errorf("%d, expect %T %v, got %T %v", i, e, e, a, a)
|
||||
}
|
||||
i++
|
||||
}
|
||||
|
||||
if err := resp.EventStream.Err(); err != nil {
|
||||
t.Errorf("expect no error, %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetEventStream_ReadClose(t *testing.T) {
|
||||
_, eventMsgs := mockGetEventStreamReadEvents()
|
||||
sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t,
|
||||
eventstreamtest.ServeEventStream{
|
||||
T: t,
|
||||
Events: eventMsgs,
|
||||
},
|
||||
true,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error, %v", err)
|
||||
}
|
||||
defer cleanupFn()
|
||||
|
||||
svc := New(sess)
|
||||
resp, err := svc.GetEventStream(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error got, %v", err)
|
||||
}
|
||||
|
||||
resp.EventStream.Close()
|
||||
<-resp.EventStream.Events()
|
||||
|
||||
if err := resp.EventStream.Err(); err != nil {
|
||||
t.Errorf("expect no error, %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkGetEventStream_Read(b *testing.B) {
|
||||
_, eventMsgs := mockGetEventStreamReadEvents()
|
||||
var buf bytes.Buffer
|
||||
encoder := eventstream.NewEncoder(&buf)
|
||||
for _, msg := range eventMsgs {
|
||||
if err := encoder.Encode(msg); err != nil {
|
||||
b.Fatalf("failed to encode message, %v", err)
|
||||
}
|
||||
}
|
||||
stream := &loopReader{source: bytes.NewReader(buf.Bytes())}
|
||||
|
||||
sess := unit.Session
|
||||
svc := New(sess, &aws.Config{
|
||||
Endpoint: aws.String("https://example.com"),
|
||||
DisableParamValidation: aws.Bool(true),
|
||||
})
|
||||
svc.Handlers.Send.Swap(corehandlers.SendHandler.Name,
|
||||
request.NamedHandler{Name: "mockSend",
|
||||
Fn: func(r *request.Request) {
|
||||
r.HTTPResponse = &http.Response{
|
||||
Status: "200 OK",
|
||||
StatusCode: 200,
|
||||
Header: http.Header{},
|
||||
Body: ioutil.NopCloser(stream),
|
||||
}
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
resp, err := svc.GetEventStream(nil)
|
||||
if err != nil {
|
||||
b.Fatalf("failed to create request, %v", err)
|
||||
}
|
||||
defer resp.EventStream.Close()
|
||||
b.ResetTimer()
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
if err = resp.EventStream.Err(); err != nil {
|
||||
b.Fatalf("expect no error, got %v", err)
|
||||
}
|
||||
event := <-resp.EventStream.Events()
|
||||
if event == nil {
|
||||
b.Fatalf("expect event, got nil, %v, %d", resp.EventStream.Err(), i)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func mockGetEventStreamReadEvents() (
|
||||
[]EventStreamEvent,
|
||||
[]eventstream.Message,
|
||||
) {
|
||||
expectEvents := []EventStreamEvent{
|
||||
&GetEventStreamOutput{
|
||||
IntVal: aws.Int64(123),
|
||||
StrVal: aws.String("string value goes here"),
|
||||
},
|
||||
&EmptyEvent{},
|
||||
&ExplicitPayloadEvent{
|
||||
LongVal: aws.Int64(1234),
|
||||
NestedVal: &NestedShape{
|
||||
IntVal: aws.Int64(123),
|
||||
StrVal: aws.String("string value goes here"),
|
||||
},
|
||||
StringVal: aws.String("string value goes here"),
|
||||
},
|
||||
&HeaderOnlyEvent{
|
||||
BlobVal: []byte("blob value goes here"),
|
||||
BoolVal: aws.Bool(true),
|
||||
ByteVal: aws.Int64(1),
|
||||
IntegerVal: aws.Int64(123),
|
||||
LongVal: aws.Int64(1234),
|
||||
ShortVal: aws.Int64(12),
|
||||
StringVal: aws.String("string value goes here"),
|
||||
TimeVal: aws.Time(time.Unix(1396594860, 0).UTC()),
|
||||
},
|
||||
&ImplicitPayloadEvent{
|
||||
ByteVal: aws.Int64(1),
|
||||
IntegerVal: aws.Int64(123),
|
||||
ShortVal: aws.Int64(12),
|
||||
},
|
||||
&PayloadOnlyEvent{
|
||||
NestedVal: &NestedShape{
|
||||
IntVal: aws.Int64(123),
|
||||
StrVal: aws.String("string value goes here"),
|
||||
},
|
||||
},
|
||||
&PayloadOnlyBlobEvent{
|
||||
BlobPayload: []byte("blob value goes here"),
|
||||
},
|
||||
&PayloadOnlyStringEvent{
|
||||
StringPayload: aws.String("string value goes here"),
|
||||
},
|
||||
}
|
||||
|
||||
var marshalers request.HandlerList
|
||||
marshalers.PushBackNamed(jsonrpc.BuildHandler)
|
||||
payloadMarshaler := protocol.HandlerPayloadMarshal{
|
||||
Marshalers: marshalers,
|
||||
}
|
||||
_ = payloadMarshaler
|
||||
|
||||
eventMsgs := []eventstream.Message{
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("initial-response"),
|
||||
},
|
||||
},
|
||||
Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[0]),
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("Empty"),
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("ExplicitPayload"),
|
||||
},
|
||||
{
|
||||
Name: "LongVal",
|
||||
Value: eventstream.Int64Value(*expectEvents[2].(*ExplicitPayloadEvent).LongVal),
|
||||
},
|
||||
{
|
||||
Name: "StringVal",
|
||||
Value: eventstream.StringValue(*expectEvents[2].(*ExplicitPayloadEvent).StringVal),
|
||||
},
|
||||
},
|
||||
Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[2]),
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("Headers"),
|
||||
},
|
||||
{
|
||||
Name: "BlobVal",
|
||||
Value: eventstream.BytesValue(expectEvents[3].(*HeaderOnlyEvent).BlobVal),
|
||||
},
|
||||
{
|
||||
Name: "BoolVal",
|
||||
Value: eventstream.BoolValue(*expectEvents[3].(*HeaderOnlyEvent).BoolVal),
|
||||
},
|
||||
{
|
||||
Name: "ByteVal",
|
||||
Value: eventstream.Int8Value(int8(*expectEvents[3].(*HeaderOnlyEvent).ByteVal)),
|
||||
},
|
||||
{
|
||||
Name: "IntegerVal",
|
||||
Value: eventstream.Int32Value(int32(*expectEvents[3].(*HeaderOnlyEvent).IntegerVal)),
|
||||
},
|
||||
{
|
||||
Name: "LongVal",
|
||||
Value: eventstream.Int64Value(*expectEvents[3].(*HeaderOnlyEvent).LongVal),
|
||||
},
|
||||
{
|
||||
Name: "ShortVal",
|
||||
Value: eventstream.Int16Value(int16(*expectEvents[3].(*HeaderOnlyEvent).ShortVal)),
|
||||
},
|
||||
{
|
||||
Name: "StringVal",
|
||||
Value: eventstream.StringValue(*expectEvents[3].(*HeaderOnlyEvent).StringVal),
|
||||
},
|
||||
{
|
||||
Name: "TimeVal",
|
||||
Value: eventstream.TimestampValue(*expectEvents[3].(*HeaderOnlyEvent).TimeVal),
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("ImplicitPayload"),
|
||||
},
|
||||
{
|
||||
Name: "ByteVal",
|
||||
Value: eventstream.Int8Value(int8(*expectEvents[4].(*ImplicitPayloadEvent).ByteVal)),
|
||||
},
|
||||
},
|
||||
Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[4]),
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("PayloadOnly"),
|
||||
},
|
||||
},
|
||||
Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[5]),
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("PayloadOnlyBlob"),
|
||||
},
|
||||
},
|
||||
Payload: expectEvents[6].(*PayloadOnlyBlobEvent).BlobPayload,
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("PayloadOnlyString"),
|
||||
},
|
||||
},
|
||||
Payload: []byte(*expectEvents[7].(*PayloadOnlyStringEvent).StringPayload),
|
||||
},
|
||||
}
|
||||
|
||||
return expectEvents, eventMsgs
|
||||
}
|
||||
func TestGetEventStream_ReadException(t *testing.T) {
|
||||
expectEvents := []EventStreamEvent{
|
||||
&GetEventStreamOutput{
|
||||
IntVal: aws.Int64(123),
|
||||
StrVal: aws.String("string value goes here"),
|
||||
},
|
||||
&ExceptionEvent{
|
||||
IntVal: aws.Int64(123),
|
||||
Message_: aws.String("string value goes here"),
|
||||
},
|
||||
}
|
||||
|
||||
var marshalers request.HandlerList
|
||||
marshalers.PushBackNamed(jsonrpc.BuildHandler)
|
||||
payloadMarshaler := protocol.HandlerPayloadMarshal{
|
||||
Marshalers: marshalers,
|
||||
}
|
||||
|
||||
eventMsgs := []eventstream.Message{
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventMessageTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.EventTypeHeader,
|
||||
Value: eventstream.StringValue("initial-response"),
|
||||
},
|
||||
},
|
||||
Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[0]),
|
||||
},
|
||||
{
|
||||
Headers: eventstream.Headers{
|
||||
eventstreamtest.EventExceptionTypeHeader,
|
||||
{
|
||||
Name: eventstreamapi.ExceptionTypeHeader,
|
||||
Value: eventstream.StringValue("Exception"),
|
||||
},
|
||||
},
|
||||
Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[1]),
|
||||
},
|
||||
}
|
||||
|
||||
sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t,
|
||||
eventstreamtest.ServeEventStream{
|
||||
T: t,
|
||||
Events: eventMsgs,
|
||||
},
|
||||
true,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error, %v", err)
|
||||
}
|
||||
defer cleanupFn()
|
||||
|
||||
svc := New(sess)
|
||||
resp, err := svc.GetEventStream(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("expect no error got, %v", err)
|
||||
}
|
||||
|
||||
defer resp.EventStream.Close()
|
||||
|
||||
<-resp.EventStream.Events()
|
||||
|
||||
err = resp.EventStream.Err()
|
||||
if err == nil {
|
||||
t.Fatalf("expect err, got none")
|
||||
}
|
||||
|
||||
expectErr := &ExceptionEvent{
|
||||
IntVal: aws.Int64(123),
|
||||
Message_: aws.String("string value goes here"),
|
||||
}
|
||||
aerr, ok := err.(awserr.Error)
|
||||
if !ok {
|
||||
t.Errorf("expect exception, got %T, %#v", err, err)
|
||||
}
|
||||
if e, a := expectErr.Code(), aerr.Code(); e != a {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
if e, a := expectErr.Message(), aerr.Message(); e != a {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
|
||||
if e, a := expectErr, aerr; !reflect.DeepEqual(e, a) {
|
||||
t.Errorf("expect %#v, got %#v", e, a)
|
||||
}
|
||||
}
|
||||
|
||||
var _ awserr.Error = (*ExceptionEvent)(nil)
|
||||
|
||||
type loopReader struct {
|
||||
source *bytes.Reader
|
||||
}
|
||||
|
||||
func (c *loopReader) Read(p []byte) (int, error) {
|
||||
if c.source.Len() == 0 {
|
||||
c.source.Seek(0, 0)
|
||||
}
|
||||
|
||||
return c.source.Read(p)
|
||||
}
|
||||
72
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/rpcservice/rpcserviceiface/interface.go
generated
vendored
Normal file
72
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/rpcservice/rpcserviceiface/interface.go
generated
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
||||
|
||||
// Package rpcserviceiface provides an interface to enable mocking the RPC Service service client
|
||||
// for testing your code.
|
||||
//
|
||||
// It is important to note that this interface will have breaking changes
|
||||
// when the service model is updated and adds new API operations, paginators,
|
||||
// and waiters.
|
||||
package rpcserviceiface
|
||||
|
||||
import (
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/request"
|
||||
"github.com/aws/aws-sdk-go/private/model/api/codegentest/service/rpcservice"
|
||||
)
|
||||
|
||||
// RPCServiceAPI provides an interface to enable mocking the
|
||||
// rpcservice.RPCService service client's API operation,
|
||||
// paginators, and waiters. This make unit testing your code that calls out
|
||||
// to the SDK's service client's calls easier.
|
||||
//
|
||||
// The best way to use this interface is so the SDK's service client's calls
|
||||
// can be stubbed out for unit testing your code with the SDK without needing
|
||||
// to inject custom request handlers into the SDK's request pipeline.
|
||||
//
|
||||
// // myFunc uses an SDK service client to make a request to
|
||||
// // RPC Service.
|
||||
// func myFunc(svc rpcserviceiface.RPCServiceAPI) bool {
|
||||
// // Make svc.EmptyStream request
|
||||
// }
|
||||
//
|
||||
// func main() {
|
||||
// sess := session.New()
|
||||
// svc := rpcservice.New(sess)
|
||||
//
|
||||
// myFunc(svc)
|
||||
// }
|
||||
//
|
||||
// In your _test.go file:
|
||||
//
|
||||
// // Define a mock struct to be used in your unit tests of myFunc.
|
||||
// type mockRPCServiceClient struct {
|
||||
// rpcserviceiface.RPCServiceAPI
|
||||
// }
|
||||
// func (m *mockRPCServiceClient) EmptyStream(input *rpcservice.EmptyStreamInput) (*rpcservice.EmptyStreamOutput, error) {
|
||||
// // mock response/functionality
|
||||
// }
|
||||
//
|
||||
// func TestMyFunc(t *testing.T) {
|
||||
// // Setup Test
|
||||
// mockSvc := &mockRPCServiceClient{}
|
||||
//
|
||||
// myfunc(mockSvc)
|
||||
//
|
||||
// // Verify myFunc's functionality
|
||||
// }
|
||||
//
|
||||
// It is important to note that this interface will have breaking changes
|
||||
// when the service model is updated and adds new API operations, paginators,
|
||||
// and waiters. Its suggested to use the pattern above for testing, or using
|
||||
// tooling to generate mocks to satisfy the interfaces.
|
||||
type RPCServiceAPI interface {
|
||||
EmptyStream(*rpcservice.EmptyStreamInput) (*rpcservice.EmptyStreamOutput, error)
|
||||
EmptyStreamWithContext(aws.Context, *rpcservice.EmptyStreamInput, ...request.Option) (*rpcservice.EmptyStreamOutput, error)
|
||||
EmptyStreamRequest(*rpcservice.EmptyStreamInput) (*request.Request, *rpcservice.EmptyStreamOutput)
|
||||
|
||||
GetEventStream(*rpcservice.GetEventStreamInput) (*rpcservice.GetEventStreamOutput, error)
|
||||
GetEventStreamWithContext(aws.Context, *rpcservice.GetEventStreamInput, ...request.Option) (*rpcservice.GetEventStreamOutput, error)
|
||||
GetEventStreamRequest(*rpcservice.GetEventStreamInput) (*request.Request, *rpcservice.GetEventStreamOutput)
|
||||
}
|
||||
|
||||
var _ RPCServiceAPI = (*rpcservice.RPCService)(nil)
|
||||
99
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/rpcservice/service.go
generated
vendored
Normal file
99
vendor/github.com/aws/aws-sdk-go/private/model/api/codegentest/service/rpcservice/service.go
generated
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
||||
|
||||
package rpcservice
|
||||
|
||||
import (
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/client"
|
||||
"github.com/aws/aws-sdk-go/aws/client/metadata"
|
||||
"github.com/aws/aws-sdk-go/aws/request"
|
||||
"github.com/aws/aws-sdk-go/aws/signer/v4"
|
||||
"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
|
||||
)
|
||||
|
||||
// RPCService provides the API operation methods for making requests to
|
||||
// RPC Service. See this package's package overview docs
|
||||
// for details on the service.
|
||||
//
|
||||
// RPCService methods are safe to use concurrently. It is not safe to
|
||||
// modify mutate any of the struct's properties though.
|
||||
type RPCService struct {
|
||||
*client.Client
|
||||
}
|
||||
|
||||
// Used for custom client initialization logic
|
||||
var initClient func(*client.Client)
|
||||
|
||||
// Used for custom request initialization logic
|
||||
var initRequest func(*request.Request)
|
||||
|
||||
// Service information constants
|
||||
const (
|
||||
ServiceName = "RPCService" // Name of service.
|
||||
EndpointsID = "rpcservice" // ID to lookup a service endpoint with.
|
||||
ServiceID = "RPCService" // ServiceID is a unique identifer of a specific service.
|
||||
)
|
||||
|
||||
// New creates a new instance of the RPCService client with a session.
|
||||
// If additional configuration is needed for the client instance use the optional
|
||||
// aws.Config parameter to add your extra config.
|
||||
//
|
||||
// Example:
|
||||
// // Create a RPCService client from just a session.
|
||||
// svc := rpcservice.New(mySession)
|
||||
//
|
||||
// // Create a RPCService client with additional configuration
|
||||
// svc := rpcservice.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
|
||||
func New(p client.ConfigProvider, cfgs ...*aws.Config) *RPCService {
|
||||
c := p.ClientConfig(EndpointsID, cfgs...)
|
||||
return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName)
|
||||
}
|
||||
|
||||
// newClient creates, initializes and returns a new service client instance.
|
||||
func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *RPCService {
|
||||
svc := &RPCService{
|
||||
Client: client.New(
|
||||
cfg,
|
||||
metadata.ClientInfo{
|
||||
ServiceName: ServiceName,
|
||||
ServiceID: ServiceID,
|
||||
SigningName: signingName,
|
||||
SigningRegion: signingRegion,
|
||||
Endpoint: endpoint,
|
||||
APIVersion: "0000-00-00",
|
||||
JSONVersion: "1.1",
|
||||
TargetPrefix: "RPCService_00000000",
|
||||
},
|
||||
handlers,
|
||||
),
|
||||
}
|
||||
|
||||
// Handlers
|
||||
svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
|
||||
svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler)
|
||||
svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler)
|
||||
svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler)
|
||||
svc.Handlers.UnmarshalError.PushBackNamed(jsonrpc.UnmarshalErrorHandler)
|
||||
|
||||
svc.Handlers.UnmarshalStream.PushBackNamed(jsonrpc.UnmarshalHandler)
|
||||
|
||||
// Run custom client initialization if present
|
||||
if initClient != nil {
|
||||
initClient(svc.Client)
|
||||
}
|
||||
|
||||
return svc
|
||||
}
|
||||
|
||||
// newRequest creates a new request for a RPCService operation and runs any
|
||||
// custom request initialization.
|
||||
func (c *RPCService) newRequest(op *request.Operation, params, data interface{}) *request.Request {
|
||||
req := c.NewRequest(op, params, data)
|
||||
|
||||
// Run custom request initialization if present
|
||||
if initRequest != nil {
|
||||
initRequest(req)
|
||||
}
|
||||
|
||||
return req
|
||||
}
|
||||
Reference in New Issue
Block a user