right_aws_api 0.3.4 → 0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/HISTORY +4 -1
- data/lib/cloud/aws/s3/manager.rb +2 -2
- data/lib/cloud/aws/s3/wrappers/default.rb +2 -2
- data/lib/cloud/mws/base/manager.rb +3 -0
- data/lib/cloud/mws/base/parsers/response_error.rb +75 -0
- data/lib/right_aws_api_version.rb +1 -1
- data/right_aws_api.gemspec +1 -1
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6492aa023c1c1ebd6bd48364935b1e3c7f06252a
|
4
|
+
data.tar.gz: b0ad4720da8e079270f04307a2096ea0a5ad69d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 55ef622a2fa9f2baa1315af3e6c4d380038f9f1c8f47f50ade5c79bdabfdc7fef6d434eedfe7b42ffd5ecd9950c2d2d59177c941087f93e4f8ae0fe194ff7c0c
|
7
|
+
data.tar.gz: b1ba2b1e5d6c0474152c048510263fbacbe0da034cebeb23f91257e61315889ddf006756bf5959e95c0026dfab7fc468a6a87ccf4abc804d806b4f5496625895
|
data/HISTORY
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
== current (not released as a gem yet)
|
2
|
+
== 2016-10-18, v0.3.5
|
3
|
+
- Fixed a bug in MWS error parsing
|
4
|
+
- Bumped right_cloud_api_base version to not use net-http-persistent 3.0+
|
2
5
|
== 2015-11-11, v0.3.4
|
3
6
|
- Add LimitRateExceeded to the retryable error types
|
4
7
|
== 2015-09-24, v0.3.3
|
@@ -45,4 +48,4 @@
|
|
45
48
|
== 2014-10-30, v0.2.1
|
46
49
|
- Added support for AWS v4 signature and make it the default
|
47
50
|
|
48
|
-
== 2013-06-28, pre-release
|
51
|
+
== 2013-06-28, pre-release
|
data/lib/cloud/aws/s3/manager.rb
CHANGED
@@ -327,7 +327,7 @@ module RightScale
|
|
327
327
|
#
|
328
328
|
# @example
|
329
329
|
# # Do not use DNS-like bucket hosts but put buckets into path
|
330
|
-
# link = RightScale::CloudApi::AWS::S3::Link::Manager::new(key, secret, endpoint, :no_dns_buckets => true)
|
330
|
+
# link = RightScale::CloudApi::AWS::S3::Link::Manager::new(key, secret, endpoint, :cloud => { :no_dns_buckets => true })
|
331
331
|
# link.GetObject('Bucket' => 'foo', 'Object' => 'bar') #=>
|
332
332
|
# 'https://s3.amazonaws.com/foo/bar?AWSAccessKeyId=AK...TA&Expires=1436557118&
|
333
333
|
# Signature=hg...%3D&response-content-type=image%2Fpeg'
|
@@ -407,4 +407,4 @@ module RightScale
|
|
407
407
|
end
|
408
408
|
end
|
409
409
|
end
|
410
|
-
end
|
410
|
+
end
|
@@ -283,7 +283,7 @@ module RightScale
|
|
283
283
|
:params => { 'uploads' => '' }
|
284
284
|
|
285
285
|
|
286
|
-
base.query_api_pattern 'UploadPart', :
|
286
|
+
base.query_api_pattern 'UploadPart', :put, '{:Bucket}/{:Object}',
|
287
287
|
:params => { 'partNumber' => :PartNumber,
|
288
288
|
'uploadId' => :UploadId },
|
289
289
|
:headers => { 'content-type' => 'binary/octet-stream' }
|
@@ -298,7 +298,7 @@ module RightScale
|
|
298
298
|
base.query_api_pattern 'CompleteMultipartUpload', :post, '{:Bucket}/{:Object}',
|
299
299
|
:params => { 'uploadId' => :UploadId },
|
300
300
|
:body => { 'CompleteMultipartUpload' => :CompleteMultipartUpload },
|
301
|
-
:headers => { '
|
301
|
+
:headers => { 'content-type' => 'application/xml'}
|
302
302
|
|
303
303
|
|
304
304
|
base.query_api_pattern 'AbortMultipartUpload', :delete, '{:Bucket}/{:Object}',
|
@@ -22,6 +22,7 @@
|
|
22
22
|
#++
|
23
23
|
|
24
24
|
require "cloud/mws/base/routines/request_signer"
|
25
|
+
require "cloud/mws/base/parsers/response_error"
|
25
26
|
|
26
27
|
module RightScale
|
27
28
|
module CloudApi
|
@@ -51,6 +52,8 @@ module RightScale
|
|
51
52
|
set_routine ResponseParser
|
52
53
|
set_routine ResultWrapper
|
53
54
|
|
55
|
+
set :response_error_parser => Parser::MWS::ResponseError
|
56
|
+
|
54
57
|
def api(action, params={}, &block)
|
55
58
|
params['Action'] ||= action.to_s._snake_case._camelize
|
56
59
|
opts = {}
|
@@ -0,0 +1,75 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright (c) 2016 RightScale, Inc.
|
3
|
+
#
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
# a copy of this software and associated documentation files (the
|
6
|
+
# 'Software'), to deal in the Software without restriction, including
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
# the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be
|
13
|
+
# included in all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
18
|
+
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
19
|
+
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
20
|
+
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
21
|
+
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
#++
|
23
|
+
|
24
|
+
|
25
|
+
module RightScale
|
26
|
+
module CloudApi
|
27
|
+
module Parser
|
28
|
+
# MWS namespace
|
29
|
+
module MWS
|
30
|
+
|
31
|
+
class ResponseError
|
32
|
+
|
33
|
+
# Parse HTTP error message from a response body
|
34
|
+
#
|
35
|
+
# @param [RightScale::CloudApi::HTTPResponse] response
|
36
|
+
# @param [Hash] options
|
37
|
+
# @option options [Class] :xml_parser
|
38
|
+
#
|
39
|
+
# @return [String]
|
40
|
+
#
|
41
|
+
# @example
|
42
|
+
# <?xml version="1.0" encoding="UTF-8"?>
|
43
|
+
# <ErrorResponse xmlns="http://mws.amazonaws.com/FulfillmentInboundShipment/2010-10-01/">
|
44
|
+
# <Error>
|
45
|
+
# <Type>Sender</Type>
|
46
|
+
# <Code>InvalidRequestException</Code>
|
47
|
+
# <Message>Reason: Cannot change Status of Shipment.</Message>
|
48
|
+
# </Error>
|
49
|
+
# <RequestId>dc32b07f-0ffb-4a4b-aab4-9f5fbb8d8797</RequestId>
|
50
|
+
# </ErrorResponse>
|
51
|
+
# # And the method parse all above into:
|
52
|
+
# 400: InvalidRequestException: Reason: Cannot change Status of Shipment. (RequestID: dc32b07f-0ffb-4a4b-aab4-9f5fbb8d8797)
|
53
|
+
#
|
54
|
+
def self.parse(response, options={})
|
55
|
+
result = "#{response.code}: "
|
56
|
+
body = response.body.to_s
|
57
|
+
if response['content-type'].to_s[/xml/] || body[/\A<\?xml /]
|
58
|
+
hash = Utils::get_xml_parser_class(options[:xml_parser]).parse(body)
|
59
|
+
if hash["ErrorResponse"]
|
60
|
+
error = hash["ErrorResponse"]["Error"]
|
61
|
+
result = "#{error['Code']}: #{error['Message']}"
|
62
|
+
# Add RequestId
|
63
|
+
result << " (RequestID: #{hash["ErrorResponse"]["RequestId"]})"
|
64
|
+
end
|
65
|
+
else
|
66
|
+
result << "#{body}" unless body._blank?
|
67
|
+
end
|
68
|
+
result
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
data/right_aws_api.gemspec
CHANGED
@@ -35,7 +35,7 @@ Gem::Specification.new do |spec|
|
|
35
35
|
spec.require_path = 'lib'
|
36
36
|
spec.required_ruby_version = '>= 1.8.7'
|
37
37
|
|
38
|
-
spec.add_dependency 'right_cloud_api_base', '>= 0.2.
|
38
|
+
spec.add_dependency 'right_cloud_api_base', '>= 0.2.6'
|
39
39
|
|
40
40
|
spec.add_development_dependency 'rake'
|
41
41
|
spec.add_development_dependency 'rspec', '>= 3.0.0'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: right_aws_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- RightScale, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: right_cloud_api_base
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.2.
|
19
|
+
version: 0.2.6
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.2.
|
26
|
+
version: 0.2.6
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -121,6 +121,7 @@ files:
|
|
121
121
|
- lib/cloud/ecs/pa/parsers/response_error.rb
|
122
122
|
- lib/cloud/ecs/pa/routines/request_signer.rb
|
123
123
|
- lib/cloud/mws/base/manager.rb
|
124
|
+
- lib/cloud/mws/base/parsers/response_error.rb
|
124
125
|
- lib/cloud/mws/base/routines/request_signer.rb
|
125
126
|
- lib/cloud/mws/cart_information/manager.rb
|
126
127
|
- lib/cloud/mws/customer_information/manager.rb
|
@@ -165,12 +166,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
165
166
|
version: '0'
|
166
167
|
requirements: []
|
167
168
|
rubyforge_project:
|
168
|
-
rubygems_version: 2.
|
169
|
+
rubygems_version: 2.2.2
|
169
170
|
signing_key:
|
170
171
|
specification_version: 4
|
171
172
|
summary: The gem provides interface to AWS cloud services.
|
172
173
|
test_files:
|
173
|
-
- spec/describe_calls.rb
|
174
|
-
- spec/cloud/aws/s3/routines/request_signer_spec.rb
|
175
174
|
- spec/cloud/aws/base/helpers/utils_spec.rb
|
175
|
+
- spec/cloud/aws/s3/routines/request_signer_spec.rb
|
176
|
+
- spec/describe_calls.rb
|
176
177
|
has_rdoc:
|