diff --git a/lib/fog/aws/requests/simpledb/batch_put_attributes.rb b/lib/fog/aws/requests/simpledb/batch_put_attributes.rb index 94016c4c4..f35945011 100644 --- a/lib/fog/aws/requests/simpledb/batch_put_attributes.rb +++ b/lib/fog/aws/requests/simpledb/batch_put_attributes.rb @@ -22,9 +22,10 @@ module Fog # * 'RequestId' def batch_put_attributes(domain_name, items, replace_attributes = Hash.new([])) request({ - 'Action' => 'BatchPutAttributes', - 'DomainName' => domain_name - }.merge!(encode_batch_attributes(items, replace_attributes)), Fog::Parsers::AWS::SimpleDB::Basic.new(@nil_string)) + 'Action' => 'BatchPutAttributes', + 'DomainName' => domain_name, + :parser => Fog::Parsers::AWS::SimpleDB::Basic.new(@nil_string) + }.merge!(encode_batch_attributes(items, replace_attributes))) end end diff --git a/lib/fog/aws/requests/simpledb/create_domain.rb b/lib/fog/aws/requests/simpledb/create_domain.rb index ccad6bbf1..ccabf2992 100644 --- a/lib/fog/aws/requests/simpledb/create_domain.rb +++ b/lib/fog/aws/requests/simpledb/create_domain.rb @@ -15,10 +15,11 @@ module Fog # * 'BoxUsage' # * 'RequestId' def create_domain(domain_name) - request({ - 'Action' => 'CreateDomain', - 'DomainName' => domain_name - }, Fog::Parsers::AWS::SimpleDB::Basic.new(@nil_string)) + request( + 'Action' => 'CreateDomain', + 'DomainName' => domain_name, + :parser => Fog::Parsers::AWS::SimpleDB::Basic.new(@nil_string) + ) end end diff --git a/lib/fog/aws/requests/simpledb/delete_attributes.rb b/lib/fog/aws/requests/simpledb/delete_attributes.rb index 92a84f38a..8d9ba2f22 100644 --- a/lib/fog/aws/requests/simpledb/delete_attributes.rb +++ b/lib/fog/aws/requests/simpledb/delete_attributes.rb @@ -24,10 +24,11 @@ module Fog # * 'RequestId' def delete_attributes(domain_name, item_name, attributes = nil) request({ - 'Action' => 'DeleteAttributes', - 'DomainName' => domain_name, - 'ItemName' => item_name - }.merge!(encode_attributes(attributes)), Fog::Parsers::AWS::SimpleDB::Basic.new(@nil_string)) + 'Action' => 'DeleteAttributes', + 'DomainName' => domain_name, + 'ItemName' => item_name, + :parser => Fog::Parsers::AWS::SimpleDB::Basic.new(@nil_string) + }.merge!(encode_attributes(attributes))) end end diff --git a/lib/fog/aws/requests/simpledb/delete_domain.rb b/lib/fog/aws/requests/simpledb/delete_domain.rb index d5e9dbf14..ad9f25e57 100644 --- a/lib/fog/aws/requests/simpledb/delete_domain.rb +++ b/lib/fog/aws/requests/simpledb/delete_domain.rb @@ -15,10 +15,11 @@ module Fog # * 'BoxUsage' # * 'RequestId' def delete_domain(domain_name) - request({ - 'Action' => 'DeleteDomain', - 'DomainName' => domain_name - }, Fog::Parsers::AWS::SimpleDB::Basic.new(@nil_string)) + request( + 'Action' => 'DeleteDomain', + 'DomainName' => domain_name, + :parser => Fog::Parsers::AWS::SimpleDB::Basic.new(@nil_string) + ) end end diff --git a/lib/fog/aws/requests/simpledb/domain_metadata.rb b/lib/fog/aws/requests/simpledb/domain_metadata.rb index 5a245f18c..8c7a02c44 100644 --- a/lib/fog/aws/requests/simpledb/domain_metadata.rb +++ b/lib/fog/aws/requests/simpledb/domain_metadata.rb @@ -24,10 +24,11 @@ module Fog # * 'RequestId' # * 'Timestamp' - last update time for metadata. def domain_metadata(domain_name) - request({ - 'Action' => 'DomainMetadata', - 'DomainName' => domain_name - }, Fog::Parsers::AWS::SimpleDB::DomainMetadata.new(@nil_string)) + request( + 'Action' => 'DomainMetadata', + 'DomainName' => domain_name, + :parser => Fog::Parsers::AWS::SimpleDB::DomainMetadata.new(@nil_string) + ) end end diff --git a/lib/fog/aws/requests/simpledb/get_attributes.rb b/lib/fog/aws/requests/simpledb/get_attributes.rb index e43b2f159..067cdb908 100644 --- a/lib/fog/aws/requests/simpledb/get_attributes.rb +++ b/lib/fog/aws/requests/simpledb/get_attributes.rb @@ -28,10 +28,11 @@ module Fog def get_attributes(domain_name, item_name, attributes = {}) request({ - 'Action' => 'GetAttributes', - 'DomainName' => domain_name, - 'ItemName' => item_name, - }.merge!(encode_attribute_names(attributes)), Fog::Parsers::AWS::SimpleDB::GetAttributes.new(@nil_string)) + 'Action' => 'GetAttributes', + 'DomainName' => domain_name, + 'ItemName' => item_name, + :parser => Fog::Parsers::AWS::SimpleDB::GetAttributes.new(@nil_string) + }.merge!(encode_attribute_names(attributes))) end end diff --git a/lib/fog/aws/requests/simpledb/list_domains.rb b/lib/fog/aws/requests/simpledb/list_domains.rb index 6804829c1..1ed147c5f 100644 --- a/lib/fog/aws/requests/simpledb/list_domains.rb +++ b/lib/fog/aws/requests/simpledb/list_domains.rb @@ -22,8 +22,9 @@ module Fog # * 'RequestId' def list_domains(options = {}) request({ - 'Action' => 'ListDomains' - }.merge!(options), Fog::Parsers::AWS::SimpleDB::ListDomains.new(@nil_string)) + 'Action' => 'ListDomains', + :parser => Fog::Parsers::AWS::SimpleDB::ListDomains.new(@nil_string) + }.merge!(options)) end end diff --git a/lib/fog/aws/requests/simpledb/put_attributes.rb b/lib/fog/aws/requests/simpledb/put_attributes.rb index 20b4c1988..ca81670f4 100644 --- a/lib/fog/aws/requests/simpledb/put_attributes.rb +++ b/lib/fog/aws/requests/simpledb/put_attributes.rb @@ -22,7 +22,11 @@ module Fog # * 'BoxUsage' # * 'RequestId' def put_attributes(domain_name, item_name, attributes, replace_attributes = []) - batch_put_attributes(domain_name, { item_name => attributes }, { item_name => replace_attributes }) + batch_put_attributes( + domain_name, + { item_name => attributes }, + { item_name => replace_attributes } + ) end end @@ -30,7 +34,11 @@ module Fog class Mock def put_attributes(domain_name, item_name, attributes, replace_attributes = []) - batch_put_attributes(domain_name, { item_name => attributes }, { item_name => replace_attributes }) + batch_put_attributes( + domain_name, + { item_name => attributes }, + { item_name => replace_attributes } + ) end end diff --git a/lib/fog/aws/requests/simpledb/select.rb b/lib/fog/aws/requests/simpledb/select.rb index d2578d988..4c99f42a1 100644 --- a/lib/fog/aws/requests/simpledb/select.rb +++ b/lib/fog/aws/requests/simpledb/select.rb @@ -20,11 +20,12 @@ module Fog # { 'item_name' => { 'attribute_name' => ['attribute_value'] }} # * 'NextToken'<~String> - offset to start with if there are are more domains to list def select(select_expression, next_token = nil) - request({ - 'Action' => 'Select', - 'NextToken' => next_token, - 'SelectExpression' => select_expression - }, Fog::Parsers::AWS::SimpleDB::Select.new(@nil_string)) + request( + 'Action' => 'Select', + 'NextToken' => next_token, + 'SelectExpression' => select_expression, + :parser => Fog::Parsers::AWS::SimpleDB::Select.new(@nil_string) + ) end end diff --git a/lib/fog/aws/simpledb.rb b/lib/fog/aws/simpledb.rb index fe9aed288..0ea8cbbba 100644 --- a/lib/fog/aws/simpledb.rb +++ b/lib/fog/aws/simpledb.rb @@ -108,8 +108,10 @@ module Fog encoded_attributes end - def request(params, parser) + def request(params) @connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}") + parser = params.delete(:parser) + params.merge!({ 'AWSAccessKeyId' => @aws_access_key_id, 'SignatureMethod' => 'HmacSHA256',