simplydb 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,74 @@
1
+ require "sinatra/base"
2
+ require "json"
3
+
4
+ module SimplyDB
5
+ class Server < Sinatra::Base
6
+ before do
7
+ content_type :json
8
+ end
9
+ get '/domains' do
10
+ interface.list_domains.sort.to_json
11
+ end
12
+
13
+ put '/domains' do
14
+ interface.create_domain(params[:name])
15
+ interface.list_domains.sort.to_json
16
+ end
17
+
18
+ delete '/domains' do
19
+ interface.delete_domain(params[:name]).to_json
20
+ interface.list_domains.sort.to_json
21
+ end
22
+
23
+ get '/domains/:name' do |name|
24
+ interface.domain_metadata(name).to_json
25
+ end
26
+
27
+ get '/domains/:name/items/:item_id' do |name, item_id|
28
+ attributes = interface.get_attributes(name, item_id)
29
+ attributes.delete('Sdb-item-identifier')
30
+ attributes.to_json
31
+ end
32
+
33
+ put '/domains/:name/items/:item_id' do |name, item_id|
34
+ interface.put_attributes(name, item_id, params[:item], {}, true)
35
+ ""
36
+ end
37
+
38
+ delete '/domains/:name/items/:item_id' do |name, item_id|
39
+ interface.delete_attributes(name, item_id, params[:item] || {}, {})
40
+ ""
41
+ end
42
+
43
+ get '/domains/:name/items' do |name|
44
+ interface.select("select * from #{name}").each do |element|
45
+ element.each_value{|v| v.delete("Sdb-item-identifier")}
46
+ end.to_json
47
+ end
48
+
49
+ error SimplyDB::Error do
50
+ [
51
+ env['sinatra.error'].http_status_code.to_i,
52
+ {
53
+ 'AMZ-ERROR-TYPE' => env['sinatra.error'].name,
54
+ 'AMZ-ERROR-MESSAGE' => env['sinatra.error'].message
55
+ },
56
+ {
57
+ 'error' => {
58
+ 'type' => env['sinatra.error'].name,
59
+ 'message' => env['sinatra.error'].message
60
+ }
61
+ }.to_json
62
+ ]
63
+ end
64
+
65
+ private
66
+
67
+ def interface
68
+ SimplyDB::Interface.new(
69
+ :secret_key => settings.aws_secret_key,
70
+ :access_key => settings.aws_access_key
71
+ )
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,3 @@
1
+ module Simplydb
2
+ VERSION = "0.0.3"
3
+ end
data/simplydb.gemspec CHANGED
@@ -1,83 +1,31 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "simplydb/version"
5
4
 
6
5
  Gem::Specification.new do |s|
7
- s.name = %q{simplydb}
8
- s.version = "0.0.2"
6
+ s.name = "simplydb"
7
+ s.version = Simplydb::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["JT Archie"]
10
+ s.email = ["jtarchie@gmail.com"]
11
+ s.homepage = "http://rubygems.org/gems/simplydb"
12
+ s.summary = %q{Simple interface for SimpleDB.}
13
+ s.description = %q{Simple interface for SimpleDB.}
9
14
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["JT Archie"]
12
- s.date = %q{2010-07-06}
13
- s.description = %q{A minimal interface to Amazon SimpleDB that has separation of interfaces. From the low level HTTP request access to high level Ruby abstraction ORM.}
14
- s.email = %q{jtarchie@gmail.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.rdoc",
24
- "Rakefile",
25
- "VERSION",
26
- "examples/interface.rb",
27
- "examples/record.rb",
28
- "lib/simplydb.rb",
29
- "lib/simplydb/client.rb",
30
- "lib/simplydb/clients/typhoeus.rb",
31
- "lib/simplydb/error.rb",
32
- "lib/simplydb/extensions.rb",
33
- "lib/simplydb/interface.rb",
34
- "lib/simplydb/record.rb",
35
- "lib/simplydb/record/base.rb",
36
- "simplydb.gemspec",
37
- "spec/client_spec.rb",
38
- "spec/error_spec.rb",
39
- "spec/extensions_spec.rb",
40
- "spec/interface_spec.rb",
41
- "spec/record/base_spec.rb",
42
- "spec/spec.opts",
43
- "spec/spec_helper.rb"
44
- ]
45
- s.homepage = %q{http://github.com/jtarchie/simplydb}
46
- s.rdoc_options = ["--charset=UTF-8"]
47
- s.require_paths = ["lib"]
48
- s.rubygems_version = %q{1.3.7}
49
- s.summary = %q{A minimal interface to Amazon SimpleDB.}
50
- s.test_files = [
51
- "spec/client_spec.rb",
52
- "spec/error_spec.rb",
53
- "spec/extensions_spec.rb",
54
- "spec/interface_spec.rb",
55
- "spec/record/base_spec.rb",
56
- "spec/spec_helper.rb",
57
- "examples/interface.rb",
58
- "examples/record.rb"
59
- ]
60
-
61
- if s.respond_to? :specification_version then
62
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
63
- s.specification_version = 3
15
+ s.rubyforge_project = "simplydb"
64
16
 
65
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
66
- s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
67
- s.add_runtime_dependency(%q<typhoeus>, [">= 0.1.27"])
68
- s.add_runtime_dependency(%q<nokogiri>, [">= 1.4.2"])
69
- s.add_runtime_dependency(%q<uuidtools>, [">= 2.1.1"])
70
- else
71
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
72
- s.add_dependency(%q<typhoeus>, [">= 0.1.27"])
73
- s.add_dependency(%q<nokogiri>, [">= 1.4.2"])
74
- s.add_dependency(%q<uuidtools>, [">= 2.1.1"])
75
- end
76
- else
77
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
78
- s.add_dependency(%q<typhoeus>, [">= 0.1.27"])
79
- s.add_dependency(%q<nokogiri>, [">= 1.4.2"])
80
- s.add_dependency(%q<uuidtools>, [">= 2.1.1"])
81
- end
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.require_paths = ["lib"]
21
+
22
+ s.add_dependency "sinatra"
23
+ s.add_dependency "nokogiri"
24
+ s.add_dependency "rest-client"
25
+ s.add_dependency "json"
26
+ s.add_development_dependency "rspec"
27
+ s.add_development_dependency "rack-test"
28
+ s.add_development_dependency "webmock"
29
+ s.add_development_dependency "vcr"
30
+ s.add_development_dependency "timecop"
82
31
  end
83
-
data/spec/client_spec.rb CHANGED
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
2
 
3
3
  describe SimplyDB::Client do
4
4
  before do
@@ -46,10 +46,22 @@ describe SimplyDB::Client do
46
46
  ).chomp
47
47
  end
48
48
 
49
- it "should be able to make an HTTP request" do
50
- @client.http_client.hydra.stub(:post, /http/).and_return(Typhoeus::Response.new(:body=>'This is a test.'))
51
- @client.call(:post, {:url=>'http://www.example.com'}) do |body|
52
- body.should == 'This is a test.'
49
+ describe "#call" do
50
+ it "should be able to make an HTTP POST request" do
51
+ stub_request(:post, "https://sdb.amazonaws.com/").
52
+ with(:body => 'Signature=1ds5YhHNymdgKTWOC0fjQ1YZlpBC%2FEh2K%2FbwE76auGI%3D&Version=2009-04-15&AWSAccessKeyId=12345&SignatureVersion=2&Timestamp=2011-04-11T23%3A09%3A00-07%3A00&SignatureMethod=HmacSHA256&name=John').
53
+ to_return(:status => 200, :body => "This example body.", :headers => {})
54
+ @client.call(:post, {:name => "John"}) do |body|
55
+ body.should == 'This example body.'
56
+ end
53
57
  end
58
+
59
+ # it "should be able to make an HTTP GET request" do
60
+ # stub_request(:get, 'https://sdb.amazonaws.com/?AWSAccessKeyId=12345&Signature=jZawyzglv1f3CZJCC/zi+z33hsEc4zLidpT+JBy+5kw=&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2011-04-11T23:09:00-07:00&Version=2009-04-15&name=John').
61
+ # to_return(:status => 200, :body => "This example body.", :headers => {})
62
+ # @client.call(:get, {:name => "John"}) do |body|
63
+ # body.should == 'This example body.'
64
+ # end
65
+ # end
54
66
  end
55
67
  end
data/spec/error_spec.rb CHANGED
@@ -1,9 +1,19 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
2
 
3
3
  describe SimplyDB::Error do
4
- it "should contain SignatureDoesNotMatch" do
5
- lambda {
6
- raise SimplyDB::Error::SignatureDoesNotMatch
7
- }.should raise_exception(SimplyDB::Error::SignatureDoesNotMatch)
4
+ before do
5
+ @error = SimplyDB::Error.new("NotFound", 404)
6
+ end
7
+
8
+ it "contains the name of the error" do
9
+ @error.name.should == "NotFound"
10
+ end
11
+
12
+ it "contains a status code" do
13
+ @error.http_status_code.should == 404
14
+ end
15
+
16
+ it "is an instance of RuntimeError" do
17
+ @error.should be_kind_of(RuntimeError)
8
18
  end
9
19
  end
@@ -0,0 +1,313 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :post
5
+ uri: https://sdb.amazonaws.com:443/
6
+ body: Action=CreateDomain&Signature=G3ry3jXY%2BEK6CTjdlv4cNcGEUGRU3dzxrqwt89OEpGs%3D&Version=2009-04-15&AWSAccessKeyId=1VRWH6Y8EA9RKV7NHSR2&SignatureVersion=2&Timestamp=2011-04-13T01%3A40%3A00-07%3A00&SignatureMethod=HmacSHA256&DomainName=activity
7
+ headers:
8
+ accept:
9
+ - "*/*; q=0.5, application/xml"
10
+ content-type:
11
+ - application/x-www-form-urlencoded
12
+ accept-encoding:
13
+ - gzip, deflate
14
+ content-length:
15
+ - "241"
16
+ response: !ruby/struct:VCR::Response
17
+ status: !ruby/struct:VCR::ResponseStatus
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ content-type:
22
+ - text/xml
23
+ server:
24
+ - Amazon SimpleDB
25
+ date:
26
+ - Wed, 13 Apr 2011 03:03:00 GMT
27
+ content-encoding:
28
+ - gzip
29
+ vary:
30
+ - Accept-Encoding
31
+ transfer-encoding:
32
+ - chunked
33
+ body: !binary |
34
+ H4sIAAAAAAAAAG2PywrCMBBF935F6T7NpCatlZiCunHhRvADxmZ8gE1qEx/4
35
+ 9epCBXF7OJfD1fWtPSYX6sPBu0kqMkhrM9CznjDS3Ld4cCsKnXeBkqfpwiTd
36
+ x9iNOQ92k2GLd+/wGrLGt9z6hucAFQPJhOKp0e/pkiJajPgipzOFuLCG7BBF
37
+ bksmS1swLJqcSSqBoRSi2IICsoXmX19P/W0dcEcGMgClVAV5OdL8g1/yb47/
38
+ O2Ie9W3GZvUAAAA=
39
+
40
+ http_version: "1.1"
41
+ - !ruby/struct:VCR::HTTPInteraction
42
+ request: !ruby/struct:VCR::Request
43
+ method: :post
44
+ uri: https://sdb.amazonaws.com:443/
45
+ body: Action=CreateDomain&Signature=7UZOsVdI%2Bd0B8jdgPjWcN5oRfQ1dapmUmlayJ4pWcGk%3D&Version=2009-04-15&AWSAccessKeyId=1VRWH6Y8EA9RKV7NHSR2&SignatureVersion=2&Timestamp=2011-04-13T01%3A40%3A00-07%3A00&SignatureMethod=HmacSHA256&DomainName=location
46
+ headers:
47
+ accept:
48
+ - "*/*; q=0.5, application/xml"
49
+ content-type:
50
+ - application/x-www-form-urlencoded
51
+ accept-encoding:
52
+ - gzip, deflate
53
+ content-length:
54
+ - "241"
55
+ response: !ruby/struct:VCR::Response
56
+ status: !ruby/struct:VCR::ResponseStatus
57
+ code: 200
58
+ message: OK
59
+ headers:
60
+ content-type:
61
+ - text/xml
62
+ server:
63
+ - Amazon SimpleDB
64
+ date:
65
+ - Wed, 13 Apr 2011 03:03:02 GMT
66
+ content-encoding:
67
+ - gzip
68
+ vary:
69
+ - Accept-Encoding
70
+ transfer-encoding:
71
+ - chunked
72
+ body: !binary |
73
+ H4sIAAAAAAAAAG2PvQrCMBRGd59Cuqe5TRtrJaagLg4ugg9w29xqwSRq4g8+
74
+ vTqoIK6Hc/j4VH2z++GFTqH3bppkKSS1Hqj5iTDSwlvs3ZrCwbtAw6fpwjTZ
75
+ xXiYcB5Mk6LFu3d4DWnrLTe+5QKgYlCwTPJEq3e6oogGI77I8UwhLo0eQZZ3
76
+ 3YiYofEz6SSxoigNE1leFVhhKxpS/Ourmb9tAm5JQwogpaxAlGPFP/gl/87x
77
+ f0f0A9Akx2X1AAAA
78
+
79
+ http_version: "1.1"
80
+ - !ruby/struct:VCR::HTTPInteraction
81
+ request: !ruby/struct:VCR::Request
82
+ method: :post
83
+ uri: https://sdb.amazonaws.com:443/
84
+ body: Action=CreateDomain&Signature=8uF6b75lzVWv0g6eNzUVCfiUwC9x2CZPT1MASeRXazg%3D&Version=2009-04-15&AWSAccessKeyId=1VRWH6Y8EA9RKV7NHSR2&SignatureVersion=2&Timestamp=2011-04-13T01%3A40%3A00-07%3A00&SignatureMethod=HmacSHA256&DomainName=notification
85
+ headers:
86
+ accept:
87
+ - "*/*; q=0.5, application/xml"
88
+ content-type:
89
+ - application/x-www-form-urlencoded
90
+ accept-encoding:
91
+ - gzip, deflate
92
+ content-length:
93
+ - "243"
94
+ response: !ruby/struct:VCR::Response
95
+ status: !ruby/struct:VCR::ResponseStatus
96
+ code: 200
97
+ message: OK
98
+ headers:
99
+ content-type:
100
+ - text/xml
101
+ server:
102
+ - Amazon SimpleDB
103
+ date:
104
+ - Wed, 13 Apr 2011 03:03:04 GMT
105
+ content-encoding:
106
+ - gzip
107
+ vary:
108
+ - Accept-Encoding
109
+ transfer-encoding:
110
+ - chunked
111
+ body: !binary |
112
+ H4sIAAAAAAAAAG2PzQoCIRRG9z1FzF69U5oz4RhUmxZtgh7gNmoNpFbaDz19
113
+ tagg2h7Ox+FTk5vf9y/2lLoYmqKkUEx0T81OFrOdR49dWNl0iCHZ/tMMqSl2
114
+ OR/GjCWzoejxHgNeE22jZya2bABQE+CkFKzQ6j1d2owGM77I8WxTXhg9MqUU
115
+ ICsiWlcRLrkk0gwdwQ1y7lCYkasV+/pqGm/rhFurgQIIIWoYyEqxD37Jvzn2
116
+ 74h+AF3aAJ/1AAAA
117
+
118
+ http_version: "1.1"
119
+ - !ruby/struct:VCR::HTTPInteraction
120
+ request: !ruby/struct:VCR::Request
121
+ method: :post
122
+ uri: https://sdb.amazonaws.com:443/
123
+ body: Action=CreateDomain&Signature=hw5S%2FYtwLtjCOOb9Fy7Z1bWQYKsUtmkwqtwyjRSU9Q8%3D&Version=2009-04-15&AWSAccessKeyId=1VRWH6Y8EA9RKV7NHSR2&SignatureVersion=2&Timestamp=2011-04-13T01%3A40%3A00-07%3A00&SignatureMethod=HmacSHA256&DomainName=person
124
+ headers:
125
+ accept:
126
+ - "*/*; q=0.5, application/xml"
127
+ content-type:
128
+ - application/x-www-form-urlencoded
129
+ accept-encoding:
130
+ - gzip, deflate
131
+ content-length:
132
+ - "239"
133
+ response: !ruby/struct:VCR::Response
134
+ status: !ruby/struct:VCR::ResponseStatus
135
+ code: 200
136
+ message: OK
137
+ headers:
138
+ content-type:
139
+ - text/xml
140
+ server:
141
+ - Amazon SimpleDB
142
+ date:
143
+ - Wed, 13 Apr 2011 03:03:06 GMT
144
+ content-encoding:
145
+ - gzip
146
+ vary:
147
+ - Accept-Encoding
148
+ transfer-encoding:
149
+ - chunked
150
+ body: !binary |
151
+ H4sIAAAAAAAAAG2PsQ6CMBRFd7+CsJc+ENSaUhJ1cXAx8QNe6VNJpEValfj1
152
+ 6qAmxvXk3JxcWQ3tKbpS7xtnyzhNIK7USC57wkAr12Jjt+Q7Zz1FT9P6Mj6G
153
+ 0M0590Yn2OLdWbz5pHYtN67mGYBgkLO04LGS7+mGAhoM+CLnC/mwNorSTGf1
154
+ nlgOWjMBWjAh8pQBoplArcdTMpJ/fblww87jgRQkAEVRCMimM8k/+CX/5vi/
155
+ I+oBYFradfUAAAA=
156
+
157
+ http_version: "1.1"
158
+ - !ruby/struct:VCR::HTTPInteraction
159
+ request: !ruby/struct:VCR::Request
160
+ method: :post
161
+ uri: https://sdb.amazonaws.com:443/
162
+ body: Action=PutAttributes&Attribute.5.Replace=true&Signature=x2sNKs8%2FMpP9H09jmR2CIyt14Ok2mq501kMA1AR5MK8%3D&Version=2009-04-15&AWSAccessKeyId=1VRWH6Y8EA9RKV7NHSR2&Attribute.2.Value=San%20Francisco&Attribute.0.Value=123%20Main%20St&SignatureVersion=2&Timestamp=2011-04-13T01%3A40%3A00-07%3A00&Attribute.5.Name=zip&Attribute.3.Name=name&Attribute.1.Value=27&Attribute.0.Replace=true&SignatureMethod=HmacSHA256&Attribute.4.Name=state&Attribute.2.Name=city&Attribute.1.Name=age&Attribute.0.Name=address&DomainName=activity&Attribute.5.Value=90210&Attribute.3.Value=John%20Smith&Attribute.4.Value=CA&Attribute.3.Replace=true&Attribute.1.Replace=true&ItemName=testID&Attribute.4.Replace=true&Attribute.2.Replace=true
163
+ headers:
164
+ accept:
165
+ - "*/*; q=0.5, application/xml"
166
+ content-type:
167
+ - application/x-www-form-urlencoded
168
+ accept-encoding:
169
+ - gzip, deflate
170
+ content-length:
171
+ - "707"
172
+ response: !ruby/struct:VCR::Response
173
+ status: !ruby/struct:VCR::ResponseStatus
174
+ code: 200
175
+ message: OK
176
+ headers:
177
+ content-type:
178
+ - text/xml
179
+ server:
180
+ - Amazon SimpleDB
181
+ date:
182
+ - Wed, 13 Apr 2011 03:03:06 GMT
183
+ content-encoding:
184
+ - gzip
185
+ vary:
186
+ - Accept-Encoding
187
+ transfer-encoding:
188
+ - chunked
189
+ body: !binary |
190
+ H4sIAAAAAAAAAG2PywrCMBRE936FdJ/mUWMaiSm6cyGI4AfEJFXBNtV7q+LX
191
+ qwsVxFkezjCMqW7NcXiJZzikdprxnGWVHZhVjzPE82HbY4R1hC61EIdPtYVp
192
+ tkfsJpRC2OaucffUuivkPjU0JE8FY5qwEeGSZta8q8uILjh0L3LqI+AiWFVr
193
+ X0pZEB4kJ6JUNeF+pMlYK1l6IZVT0dCvb+bptgG3i5bl7BkhWFFoQz/4Jf/O
194
+ 0b9P7AN5TFuN9wAAAA==
195
+
196
+ http_version: "1.1"
197
+ - !ruby/struct:VCR::HTTPInteraction
198
+ request: !ruby/struct:VCR::Request
199
+ method: :post
200
+ uri: https://sdb.amazonaws.com:443/
201
+ body: Action=PutAttributes&Attribute.5.Replace=true&Signature=bK0hTghxSLkb5OIH4JC%2BhkhVcQXHnHbI6KMyP7%2BEkO0%3D&Version=2009-04-15&AWSAccessKeyId=1VRWH6Y8EA9RKV7NHSR2&Attribute.2.Value=San%20Francisco&Attribute.0.Value=123%20Main%20St&SignatureVersion=2&Timestamp=2011-04-13T01%3A40%3A00-07%3A00&Attribute.5.Name=zip&Attribute.3.Name=name&Attribute.1.Value=27&Attribute.0.Replace=true&SignatureMethod=HmacSHA256&Attribute.4.Name=state&Attribute.2.Name=city&Attribute.1.Name=age&Attribute.0.Name=address&DomainName=activity&Attribute.5.Value=90210&Attribute.3.Value=John%20Smith&Attribute.4.Value=CA&Attribute.3.Replace=true&Attribute.1.Replace=true&ItemName=updateID&Attribute.4.Replace=true&Attribute.2.Replace=true
202
+ headers:
203
+ accept:
204
+ - "*/*; q=0.5, application/xml"
205
+ content-type:
206
+ - application/x-www-form-urlencoded
207
+ accept-encoding:
208
+ - gzip, deflate
209
+ content-length:
210
+ - "711"
211
+ response: !ruby/struct:VCR::Response
212
+ status: !ruby/struct:VCR::ResponseStatus
213
+ code: 200
214
+ message: OK
215
+ headers:
216
+ content-type:
217
+ - text/xml
218
+ server:
219
+ - Amazon SimpleDB
220
+ date:
221
+ - Wed, 13 Apr 2011 03:03:07 GMT
222
+ content-encoding:
223
+ - gzip
224
+ vary:
225
+ - Accept-Encoding
226
+ transfer-encoding:
227
+ - chunked
228
+ body: !binary |
229
+ H4sIAAAAAAAAAG2PwWrDMBBE7/2K4LustV3XdZBl2lsOhRLIB6ykVWKoLTe7
230
+ bkK/vskhDZTO8fGGYUx/Hj9WX3TkIU1dVuSQ9fbBvC/yInIc3CLEW+I5TUyr
231
+ izpxlx1E5rXWHFyOI36nCU+c+zTqkLwuAVoFj6qodWbNrfpGggEFr+RzIZZN
232
+ sBALDFUdlatjoyrfRPVceK9a5xw5aPCpJqPvvnlN5x3jnizkcElZQlW1Rv/i
233
+ q/x3Tv/7xP4AUEZO4/cAAAA=
234
+
235
+ http_version: "1.1"
236
+ - !ruby/struct:VCR::HTTPInteraction
237
+ request: !ruby/struct:VCR::Request
238
+ method: :post
239
+ uri: https://sdb.amazonaws.com:443/
240
+ body: Action=PutAttributes&Attribute.5.Replace=true&Signature=xCcpP0if6oRxSq40i0paTWIZksW0QMDJZe4zqYeyrjk%3D&Version=2009-04-15&AWSAccessKeyId=1VRWH6Y8EA9RKV7NHSR2&Attribute.2.Value=San%20Francisco&Attribute.0.Value=123%20Main%20St&SignatureVersion=2&Timestamp=2011-04-13T01%3A40%3A00-07%3A00&Attribute.5.Name=zip&Attribute.3.Name=name&Attribute.1.Value=27&Attribute.0.Replace=true&SignatureMethod=HmacSHA256&Attribute.4.Name=state&Attribute.2.Name=city&Attribute.1.Name=age&Attribute.0.Name=address&DomainName=activity&Attribute.5.Value=90210&Attribute.3.Value=John%20Smith&Attribute.4.Value=CA&Attribute.3.Replace=true&Attribute.1.Replace=true&ItemName=delete_partialID&Attribute.4.Replace=true&Attribute.2.Replace=true
241
+ headers:
242
+ accept:
243
+ - "*/*; q=0.5, application/xml"
244
+ content-type:
245
+ - application/x-www-form-urlencoded
246
+ accept-encoding:
247
+ - gzip, deflate
248
+ content-length:
249
+ - "715"
250
+ response: !ruby/struct:VCR::Response
251
+ status: !ruby/struct:VCR::ResponseStatus
252
+ code: 200
253
+ message: OK
254
+ headers:
255
+ content-type:
256
+ - text/xml
257
+ server:
258
+ - Amazon SimpleDB
259
+ date:
260
+ - Wed, 13 Apr 2011 03:03:07 GMT
261
+ content-encoding:
262
+ - gzip
263
+ vary:
264
+ - Accept-Encoding
265
+ transfer-encoding:
266
+ - chunked
267
+ body: !binary |
268
+ H4sIAAAAAAAAAG2PzQrCMBCE7z6F9J4maW1TJUb05kEQwQfYJusP2EbdrYpP
269
+ rx5UEOf48Q3D2MmtOfQveKZ9bMeJTlUycT277HjKfN7XHSOtkI6xJew/1ZbG
270
+ yY75OJKSQp1CA/fYwpVSHxsZopeZUkOhBkIXMnH2XV0gQwCGFzl1SDwPrgwI
271
+ pjIgvC4Gwhe6ErUpS2E2UBistA8qt/Lr21m8rQm26FSqnskyledDKz/4Jf/O
272
+ yb9P3ANmKpZg9wAAAA==
273
+
274
+ http_version: "1.1"
275
+ - !ruby/struct:VCR::HTTPInteraction
276
+ request: !ruby/struct:VCR::Request
277
+ method: :post
278
+ uri: https://sdb.amazonaws.com:443/
279
+ body: Action=PutAttributes&Attribute.5.Replace=true&Signature=aTbuzWdlFBMekRJqtyYrcA2fuaAKDZbsx53IggYNwL4%3D&Version=2009-04-15&AWSAccessKeyId=1VRWH6Y8EA9RKV7NHSR2&Attribute.2.Value=San%20Francisco&Attribute.0.Value=123%20Main%20St&SignatureVersion=2&Timestamp=2011-04-13T01%3A40%3A00-07%3A00&Attribute.5.Name=zip&Attribute.3.Name=name&Attribute.1.Value=27&Attribute.0.Replace=true&SignatureMethod=HmacSHA256&Attribute.4.Name=state&Attribute.2.Name=city&Attribute.1.Name=age&Attribute.0.Name=address&DomainName=activity&Attribute.5.Value=90210&Attribute.3.Value=John%20Smith&Attribute.4.Value=CA&Attribute.3.Replace=true&Attribute.1.Replace=true&ItemName=delete_allID&Attribute.4.Replace=true&Attribute.2.Replace=true
280
+ headers:
281
+ accept:
282
+ - "*/*; q=0.5, application/xml"
283
+ content-type:
284
+ - application/x-www-form-urlencoded
285
+ accept-encoding:
286
+ - gzip, deflate
287
+ content-length:
288
+ - "711"
289
+ response: !ruby/struct:VCR::Response
290
+ status: !ruby/struct:VCR::ResponseStatus
291
+ code: 200
292
+ message: OK
293
+ headers:
294
+ content-type:
295
+ - text/xml
296
+ server:
297
+ - Amazon SimpleDB
298
+ date:
299
+ - Wed, 13 Apr 2011 03:03:08 GMT
300
+ content-encoding:
301
+ - gzip
302
+ vary:
303
+ - Accept-Encoding
304
+ transfer-encoding:
305
+ - chunked
306
+ body: !binary |
307
+ H4sIAAAAAAAAAG2PywrCMBBF935F6T5N0tY+JEZ050IQwQ+YmvEBtlFnqsWv
308
+ t12oIN7l4Vwu18y6+hzc8UYn30xDHalwZkdm3fKc+XaqWkbaIF18Qxj0akPT
309
+ 8Mh8mUhJroqghqdv4EHRztfS+Z2MlSqFSoUey9Cad3WFDA4YBnJtkXjpbKHL
310
+ LE32mdCATjiNWmCW70WloSyqRGGRo5Ff3yx8tyU4oFWR6hPHKklKIz94kH/n
311
+ 5N8n9gXCjoKf9wAAAA==
312
+
313
+ http_version: "1.1"