s3 0.3.0.beta2 → 0.3.0
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.
- data/README.rdoc +1 -2
- data/lib/s3.rb +1 -1
- data/lib/s3/connection.rb +16 -6
- data/lib/s3/version.rb +3 -0
- metadata +24 -11
data/README.rdoc
CHANGED
@@ -8,11 +8,10 @@ It supports both: European and US buckets through {REST API}[http://docs.amazonw
|
|
8
8
|
* repository[http://github.com/qoobaa/s3]
|
9
9
|
* {issue tracker}[http://github.com/qoobaa/s3/issues]
|
10
10
|
* rdoc[http://qoobaa.github.com/s3]
|
11
|
-
* {continuous integration}[http://runcoderun.com/qoobaa/s3]
|
12
11
|
|
13
12
|
== Installation
|
14
13
|
|
15
|
-
gem install s3
|
14
|
+
gem install s3
|
16
15
|
|
17
16
|
== Usage
|
18
17
|
|
data/lib/s3.rb
CHANGED
data/lib/s3/connection.rb
CHANGED
@@ -166,7 +166,7 @@ module S3
|
|
166
166
|
http
|
167
167
|
end
|
168
168
|
|
169
|
-
def send_request(host, request)
|
169
|
+
def send_request(host, request, skip_authorization = false)
|
170
170
|
response = http(host).start do |http|
|
171
171
|
host = http.address
|
172
172
|
|
@@ -177,14 +177,24 @@ module S3
|
|
177
177
|
request["Content-MD5"] = Base64.encode64(Digest::MD5.digest(request.body)).chomp unless request.body.empty?
|
178
178
|
end
|
179
179
|
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
180
|
+
unless skip_authorization
|
181
|
+
request["Authorization"] = Signature.generate(:host => host,
|
182
|
+
:request => request,
|
183
|
+
:access_key_id => access_key_id,
|
184
|
+
:secret_access_key => secret_access_key)
|
185
|
+
end
|
186
|
+
|
184
187
|
http.request(request)
|
185
188
|
end
|
186
189
|
|
187
|
-
|
190
|
+
if response.code.to_i == 307
|
191
|
+
if response.body
|
192
|
+
doc = Document.new response.body
|
193
|
+
send_request(doc.elements['Error'].elements['Endpoint'].text, request, true)
|
194
|
+
end
|
195
|
+
else
|
196
|
+
handle_response(response)
|
197
|
+
end
|
188
198
|
end
|
189
199
|
|
190
200
|
def handle_response(response)
|
data/lib/s3/version.rb
ADDED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: s3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 19
|
5
|
+
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 3
|
8
9
|
- 0
|
9
|
-
|
10
|
-
version: 0.3.0.beta2
|
10
|
+
version: 0.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- "Jakub Ku\xC5\xBAma"
|
@@ -15,16 +15,18 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-05-23 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: trollop
|
23
23
|
prerelease: false
|
24
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
25
26
|
requirements:
|
26
27
|
- - ">="
|
27
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
28
30
|
segments:
|
29
31
|
- 0
|
30
32
|
version: "0"
|
@@ -34,9 +36,11 @@ dependencies:
|
|
34
36
|
name: proxies
|
35
37
|
prerelease: false
|
36
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
37
40
|
requirements:
|
38
41
|
- - ">="
|
39
42
|
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
40
44
|
segments:
|
41
45
|
- 0
|
42
46
|
version: "0"
|
@@ -46,9 +50,11 @@ dependencies:
|
|
46
50
|
name: test-unit
|
47
51
|
prerelease: false
|
48
52
|
requirement: &id003 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
49
54
|
requirements:
|
50
55
|
- - ">="
|
51
56
|
- !ruby/object:Gem::Version
|
57
|
+
hash: 3
|
52
58
|
segments:
|
53
59
|
- 2
|
54
60
|
- 0
|
@@ -59,9 +65,11 @@ dependencies:
|
|
59
65
|
name: mocha
|
60
66
|
prerelease: false
|
61
67
|
requirement: &id004 !ruby/object:Gem::Requirement
|
68
|
+
none: false
|
62
69
|
requirements:
|
63
70
|
- - ">="
|
64
71
|
- !ruby/object:Gem::Version
|
72
|
+
hash: 3
|
65
73
|
segments:
|
66
74
|
- 0
|
67
75
|
version: "0"
|
@@ -79,16 +87,17 @@ files:
|
|
79
87
|
- bin/s3
|
80
88
|
- extra/s3_attachment_fu.rb
|
81
89
|
- extra/s3_paperclip.rb
|
90
|
+
- lib/s3.rb
|
91
|
+
- lib/s3/object.rb
|
82
92
|
- lib/s3/parser.rb
|
93
|
+
- lib/s3/signature.rb
|
94
|
+
- lib/s3/bucket.rb
|
95
|
+
- lib/s3/exceptions.rb
|
96
|
+
- lib/s3/service.rb
|
97
|
+
- lib/s3/version.rb
|
83
98
|
- lib/s3/buckets_extension.rb
|
84
99
|
- lib/s3/connection.rb
|
85
|
-
- lib/s3/exceptions.rb
|
86
|
-
- lib/s3/bucket.rb
|
87
100
|
- lib/s3/objects_extension.rb
|
88
|
-
- lib/s3/object.rb
|
89
|
-
- lib/s3/service.rb
|
90
|
-
- lib/s3/signature.rb
|
91
|
-
- lib/s3.rb
|
92
101
|
- LICENSE
|
93
102
|
- README.rdoc
|
94
103
|
has_rdoc: true
|
@@ -101,16 +110,20 @@ rdoc_options: []
|
|
101
110
|
require_paths:
|
102
111
|
- lib
|
103
112
|
required_ruby_version: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
104
114
|
requirements:
|
105
115
|
- - ">="
|
106
116
|
- !ruby/object:Gem::Version
|
117
|
+
hash: 3
|
107
118
|
segments:
|
108
119
|
- 0
|
109
120
|
version: "0"
|
110
121
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
111
123
|
requirements:
|
112
124
|
- - ">="
|
113
125
|
- !ruby/object:Gem::Version
|
126
|
+
hash: 23
|
114
127
|
segments:
|
115
128
|
- 1
|
116
129
|
- 3
|
@@ -119,7 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
119
132
|
requirements: []
|
120
133
|
|
121
134
|
rubyforge_project:
|
122
|
-
rubygems_version: 1.3.
|
135
|
+
rubygems_version: 1.3.7
|
123
136
|
signing_key:
|
124
137
|
specification_version: 3
|
125
138
|
summary: Library for accessing S3 objects and buckets, with command line tool
|