s33r 0.4.1 → 0.4.2
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/examples/cli/simple.rb +17 -0
- data/examples/fores33r/app/controllers/browser_controller.rb +32 -8
- data/examples/fores33r/app/views/browser/_create_bucket.rhtml +6 -0
- data/examples/fores33r/app/views/browser/_upload.rhtml +5 -0
- data/examples/fores33r/app/views/browser/index.rhtml +1 -8
- data/examples/fores33r/app/views/browser/plain_bucket.rhtml +3 -0
- data/examples/fores33r/app/views/browser/s3_index.rhtml +9 -0
- data/examples/fores33r/app/views/browser/show_bucket.rhtml +6 -8
- data/examples/fores33r/app/views/layouts/application.rhtml +2 -0
- data/examples/fores33r/app/views/layouts/s3_layout.rhtml +14 -0
- data/examples/fores33r/config/environment.rb +1 -1
- data/examples/fores33r/config/routes.rb +2 -0
- data/examples/fores33r/public/stylesheets/core.css +2 -2
- data/html/classes/Net/HTTPResponse.html +3 -0
- data/html/classes/S33r.html +127 -116
- data/html/classes/S33r/BucketListing.html +119 -94
- data/html/classes/S33r/Client.html +602 -536
- data/html/classes/S33r/LoggingResource.html +3 -3
- data/html/classes/S33r/NamedBucket.html +235 -191
- data/html/classes/S33r/OrderlyXmlMarkup.html +7 -7
- data/html/classes/S33r/S33rException.html +1 -0
- data/html/classes/S33r/S33rException/TryingToPutEmptyResource.html +117 -0
- data/html/classes/S33r/S3ACL/ACLDoc.html +94 -94
- data/html/classes/S33r/S3ACL/AmazonCustomer.html +5 -5
- data/html/classes/S33r/S3ACL/CanonicalUser.html +12 -12
- data/html/classes/S33r/S3ACL/Grant.html +64 -64
- data/html/classes/S33r/S3ACL/Grantee.html +36 -36
- data/html/classes/S33r/S3ACL/Group.html +8 -8
- data/html/classes/S33r/S3Object.html +387 -79
- data/html/classes/XML.html +15 -15
- data/html/created.rid +1 -1
- data/html/files/CHANGELOG.html +7 -1
- data/html/files/MIT-LICENSE.html +1 -1
- data/html/files/README_txt.html +3 -7
- data/html/files/lib/s33r/bucket_listing_rb.html +1 -9
- data/html/files/lib/s33r/builder_rb.html +1 -1
- data/html/files/lib/s33r/client_rb.html +1 -1
- data/html/files/lib/s33r/core_rb.html +1 -2
- data/html/files/lib/s33r/libxml_extensions_rb.html +1 -7
- data/html/files/lib/s33r/libxml_loader_rb.html +109 -0
- data/html/files/lib/s33r/logging_rb.html +1 -2
- data/html/files/lib/s33r/mimetypes_rb.html +1 -1
- data/html/files/lib/s33r/named_bucket_rb.html +1 -1
- data/html/files/lib/s33r/s33r_exception_rb.html +1 -1
- data/html/files/lib/s33r/s33r_http_rb.html +1 -1
- data/html/files/lib/s33r/s3_acl_rb.html +1 -2
- data/html/files/lib/s33r/s3_obj_rb.html +108 -0
- data/html/files/lib/s33r/sync_rb.html +1 -1
- data/html/files/lib/s33r_rb.html +1 -1
- data/html/fr_class_index.html +1 -0
- data/html/fr_file_index.html +2 -0
- data/html/fr_method_index.html +80 -71
- data/lib/s33r/bucket_listing.rb +30 -55
- data/lib/s33r/client.rb +70 -28
- data/lib/s33r/core.rb +9 -4
- data/lib/s33r/libxml_extensions.rb +2 -0
- data/lib/s33r/libxml_loader.rb +6 -0
- data/lib/s33r/logging.rb +3 -3
- data/lib/s33r/named_bucket.rb +33 -15
- data/lib/s33r/s33r_exception.rb +4 -0
- data/lib/s33r/s33r_http.rb +1 -1
- data/lib/s33r/s3_acl.rb +3 -2
- data/lib/s33r/s3_obj.rb +186 -0
- data/test/cases/spec_bucket_listing.rb +9 -33
- data/test/cases/spec_s3_object.rb +35 -0
- data/test/files/suspect_bucket_listing.xml +19 -0
- metadata +94 -89
- data/examples/fores33r/log/development.log +0 -5960
- data/examples/fores33r/log/production.log +0 -0
- data/examples/fores33r/log/server.log +0 -0
- data/examples/fores33r/log/test.log +0 -0
- data/examples/fores33r/tmp/sessions/ruby_sess.2ea325f604aa5fb9 +0 -0
- data/examples/fores33r/tmp/sessions/ruby_sess.39d37e054d21d545 +0 -0
- data/examples/fores33r/tmp/sessions/ruby_sess.acf71fc73aa74983 +0 -0
- data/examples/fores33r/tmp/sessions/ruby_sess.c1697b7d6670f3cd +0 -0
@@ -92,12 +92,12 @@ Object representation of the content of a bucket.
|
|
92
92
|
<h3 class="section-bar">Methods</h3>
|
93
93
|
|
94
94
|
<div class="name-list">
|
95
|
-
<a href="#
|
96
|
-
<a href="#
|
97
|
-
<a href="#
|
98
|
-
<a href="#
|
99
|
-
<a href="#
|
100
|
-
<a href="#
|
95
|
+
<a href="#M000155">[]</a>
|
96
|
+
<a href="#M000154">last_key</a>
|
97
|
+
<a href="#M000151">new</a>
|
98
|
+
<a href="#M000153">parse_listing</a>
|
99
|
+
<a href="#M000156">pretty</a>
|
100
|
+
<a href="#M000152">set_listing_xml</a>
|
101
101
|
</div>
|
102
102
|
</div>
|
103
103
|
|
@@ -180,6 +180,15 @@ listing.
|
|
180
180
|
<td class="context-item-value"> [R] </td>
|
181
181
|
<td class="context-item-desc"></td>
|
182
182
|
</tr>
|
183
|
+
<tr class="top-aligned-row context-row">
|
184
|
+
<td class="context-item-name">raw</td>
|
185
|
+
<td class="context-item-value"> [RW] </td>
|
186
|
+
<td class="context-item-desc">
|
187
|
+
Set to true to show raw parsing errors, instead of the catch all error
|
188
|
+
message (useful for debugging).
|
189
|
+
|
190
|
+
</td>
|
191
|
+
</tr>
|
183
192
|
</table>
|
184
193
|
</div>
|
185
194
|
</div>
|
@@ -190,12 +199,12 @@ listing.
|
|
190
199
|
<div id="methods">
|
191
200
|
<h3 class="section-bar">Public Class methods</h3>
|
192
201
|
|
193
|
-
<div id="method-
|
194
|
-
<a name="
|
202
|
+
<div id="method-M000151" class="method-detail">
|
203
|
+
<a name="M000151"></a>
|
195
204
|
|
196
205
|
<div class="method-heading">
|
197
|
-
<a href="#
|
198
|
-
<span class="method-name">new</span><span class="method-args">(bucket_listing_xml, named_bucket=nil)</span>
|
206
|
+
<a href="#M000151" class="method-signature">
|
207
|
+
<span class="method-name">new</span><span class="method-args">(bucket_listing_xml, named_bucket=nil, raw=false)</span>
|
199
208
|
</a>
|
200
209
|
</div>
|
201
210
|
|
@@ -214,19 +223,23 @@ href="NamedBucket.html">NamedBucket</a> instance, so that any objects
|
|
214
223
|
inside this listing can be associated with that instance. This enables
|
215
224
|
objects to be easily deleted without having to create a new <a
|
216
225
|
href="Client.html">Client</a> instance.
|
226
|
+
</p>
|
227
|
+
<p>
|
228
|
+
If <tt>raw</tt> is set to true, you get ugly parser errors.
|
217
229
|
</p>
|
218
230
|
<p><a class="source-toggle" href="#"
|
219
|
-
onclick="toggleCode('
|
220
|
-
<div class="method-source-code" id="
|
231
|
+
onclick="toggleCode('M000151-source');return false;">[Source]</a></p>
|
232
|
+
<div class="method-source-code" id="M000151-source">
|
221
233
|
<pre>
|
222
|
-
<span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
234
|
+
<span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line 32</span>
|
235
|
+
32: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">bucket_listing_xml</span>, <span class="ruby-identifier">named_bucket</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">raw</span>=<span class="ruby-keyword kw">false</span>)
|
236
|
+
33: <span class="ruby-ivar">@contents</span> = {}
|
237
|
+
34: <span class="ruby-ivar">@common_prefixes</span> = {}
|
238
|
+
35: <span class="ruby-comment cmt"># the NamedBucket instance associated with this listing (if any)</span>
|
239
|
+
36: <span class="ruby-ivar">@named_bucket</span> = <span class="ruby-identifier">named_bucket</span>
|
240
|
+
37: <span class="ruby-ivar">@raw</span> = <span class="ruby-identifier">raw</span>
|
241
|
+
38: <span class="ruby-identifier">set_listing_xml</span>(<span class="ruby-identifier">bucket_listing_xml</span>)
|
242
|
+
39: <span class="ruby-keyword kw">end</span>
|
230
243
|
</pre>
|
231
244
|
</div>
|
232
245
|
</div>
|
@@ -234,11 +247,11 @@ href="Client.html">Client</a> instance.
|
|
234
247
|
|
235
248
|
<h3 class="section-bar">Public Instance methods</h3>
|
236
249
|
|
237
|
-
<div id="method-
|
238
|
-
<a name="
|
250
|
+
<div id="method-M000155" class="method-detail">
|
251
|
+
<a name="M000155"></a>
|
239
252
|
|
240
253
|
<div class="method-heading">
|
241
|
-
<a href="#
|
254
|
+
<a href="#M000155" class="method-signature">
|
242
255
|
<span class="method-name">[]</span><span class="method-args">(key)</span>
|
243
256
|
</a>
|
244
257
|
</div>
|
@@ -248,23 +261,23 @@ href="Client.html">Client</a> instance.
|
|
248
261
|
Return an object in this bucket by key.
|
249
262
|
</p>
|
250
263
|
<p><a class="source-toggle" href="#"
|
251
|
-
onclick="toggleCode('
|
252
|
-
<div class="method-source-code" id="
|
264
|
+
onclick="toggleCode('M000155-source');return false;">[Source]</a></p>
|
265
|
+
<div class="method-source-code" id="M000155-source">
|
253
266
|
<pre>
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
267
|
+
<span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line 98</span>
|
268
|
+
98: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">key</span>)
|
269
|
+
99: <span class="ruby-ivar">@contents</span>[<span class="ruby-identifier">key</span>]
|
270
|
+
100: <span class="ruby-keyword kw">end</span>
|
258
271
|
</pre>
|
259
272
|
</div>
|
260
273
|
</div>
|
261
274
|
</div>
|
262
275
|
|
263
|
-
<div id="method-
|
264
|
-
<a name="
|
276
|
+
<div id="method-M000154" class="method-detail">
|
277
|
+
<a name="M000154"></a>
|
265
278
|
|
266
279
|
<div class="method-heading">
|
267
|
-
<a href="#
|
280
|
+
<a href="#M000154" class="method-signature">
|
268
281
|
<span class="method-name">last_key</span><span class="method-args">()</span>
|
269
282
|
</a>
|
270
283
|
</div>
|
@@ -274,23 +287,23 @@ Return an object in this bucket by key.
|
|
274
287
|
Get the last key in the contents hash.
|
275
288
|
</p>
|
276
289
|
<p><a class="source-toggle" href="#"
|
277
|
-
onclick="toggleCode('
|
278
|
-
<div class="method-source-code" id="
|
290
|
+
onclick="toggleCode('M000154-source');return false;">[Source]</a></p>
|
291
|
+
<div class="method-source-code" id="M000154-source">
|
279
292
|
<pre>
|
280
|
-
<span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line
|
281
|
-
|
282
|
-
|
283
|
-
|
293
|
+
<span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line 93</span>
|
294
|
+
93: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">last_key</span>
|
295
|
+
94: <span class="ruby-ivar">@contents</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">last</span>
|
296
|
+
95: <span class="ruby-keyword kw">end</span>
|
284
297
|
</pre>
|
285
298
|
</div>
|
286
299
|
</div>
|
287
300
|
</div>
|
288
301
|
|
289
|
-
<div id="method-
|
290
|
-
<a name="
|
302
|
+
<div id="method-M000153" class="method-detail">
|
303
|
+
<a name="M000153"></a>
|
291
304
|
|
292
305
|
<div class="method-heading">
|
293
|
-
<a href="#
|
306
|
+
<a href="#M000153" class="method-signature">
|
294
307
|
<span class="method-name">parse_listing</span><span class="method-args">(bucket_listing_xml)</span>
|
295
308
|
</a>
|
296
309
|
</div>
|
@@ -298,46 +311,49 @@ Get the last key in the contents hash.
|
|
298
311
|
<div class="method-description">
|
299
312
|
<p>
|
300
313
|
Parse raw <a href="../XML.html">XML</a> ListBucketResponse from S3 into
|
301
|
-
object instances.
|
314
|
+
object instances. The S3Objects are skeletons, and are not automatically
|
315
|
+
populated from S3 (their @value attributes are nil). To load the data into
|
316
|
+
an object, grab it from the listing and call its load method to pull the
|
317
|
+
data down from S3.
|
302
318
|
</p>
|
303
319
|
<p><a class="source-toggle" href="#"
|
304
|
-
onclick="toggleCode('
|
305
|
-
<div class="method-source-code" id="
|
320
|
+
onclick="toggleCode('M000153-source');return false;">[Source]</a></p>
|
321
|
+
<div class="method-source-code" id="M000153-source">
|
306
322
|
<pre>
|
307
|
-
<span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
323
|
+
<span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line 68</span>
|
324
|
+
68: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_listing</span>(<span class="ruby-identifier">bucket_listing_xml</span>)
|
325
|
+
69: <span class="ruby-identifier">doc</span> = <span class="ruby-constant">XML</span>.<span class="ruby-identifier">get_xml_doc</span>(<span class="ruby-identifier">bucket_listing_xml</span>)
|
326
|
+
70:
|
327
|
+
71: <span class="ruby-identifier">prop_setter</span> = <span class="ruby-identifier">lambda</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">prop</span>, <span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
|
328
|
+
72: <span class="ruby-identifier">node</span> = <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">find</span>(<span class="ruby-node">"//ListBucketResult/#{path}"</span>).<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">first</span>
|
329
|
+
73: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">"#{prop}="</span>, <span class="ruby-identifier">node</span>.<span class="ruby-identifier">content</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">node</span>
|
330
|
+
74: <span class="ruby-keyword kw">end</span>
|
331
|
+
75:
|
332
|
+
76: <span class="ruby-comment cmt"># metadata</span>
|
333
|
+
77: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:name</span>, <span class="ruby-value str">'Name'</span>)
|
334
|
+
78: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:delimiter</span>, <span class="ruby-value str">'Delimiter'</span>)
|
335
|
+
79: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:prefix</span>, <span class="ruby-value str">'Prefix'</span>)
|
336
|
+
80: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:marker</span>, <span class="ruby-value str">'Marker'</span>)
|
337
|
+
81: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:max_keys</span>, <span class="ruby-value str">'MaxKeys'</span>)
|
338
|
+
82: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:is_truncated</span>, <span class="ruby-value str">'IsTruncated'</span>)
|
339
|
+
83:
|
340
|
+
84: <span class="ruby-comment cmt"># contents</span>
|
341
|
+
85: <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">find</span>(<span class="ruby-value str">'//Contents'</span>).<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">node</span><span class="ruby-operator">|</span>
|
342
|
+
86: <span class="ruby-identifier">obj</span> = <span class="ruby-constant">S3Object</span>.<span class="ruby-identifier">from_xml_node</span>(<span class="ruby-identifier">node</span>)
|
343
|
+
87: <span class="ruby-comment cmt"># Add to the content listing for the bucket</span>
|
344
|
+
88: <span class="ruby-ivar">@contents</span>[<span class="ruby-identifier">obj</span>.<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">obj</span>
|
345
|
+
89: <span class="ruby-keyword kw">end</span>
|
346
|
+
90: <span class="ruby-keyword kw">end</span>
|
331
347
|
</pre>
|
332
348
|
</div>
|
333
349
|
</div>
|
334
350
|
</div>
|
335
351
|
|
336
|
-
<div id="method-
|
337
|
-
<a name="
|
352
|
+
<div id="method-M000156" class="method-detail">
|
353
|
+
<a name="M000156"></a>
|
338
354
|
|
339
355
|
<div class="method-heading">
|
340
|
-
<a href="#
|
356
|
+
<a href="#M000156" class="method-signature">
|
341
357
|
<span class="method-name">pretty</span><span class="method-args">()</span>
|
342
358
|
</a>
|
343
359
|
</div>
|
@@ -347,23 +363,23 @@ object instances.
|
|
347
363
|
Pretty listing of keys in alphabetical order.
|
348
364
|
</p>
|
349
365
|
<p><a class="source-toggle" href="#"
|
350
|
-
onclick="toggleCode('
|
351
|
-
<div class="method-source-code" id="
|
366
|
+
onclick="toggleCode('M000156-source');return false;">[Source]</a></p>
|
367
|
+
<div class="method-source-code" id="M000156-source">
|
352
368
|
<pre>
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
369
|
+
<span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line 103</span>
|
370
|
+
103: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pretty</span>
|
371
|
+
104: <span class="ruby-ivar">@contents</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">puts</span> <span class="ruby-identifier">k</span> }
|
372
|
+
105: <span class="ruby-keyword kw">end</span>
|
357
373
|
</pre>
|
358
374
|
</div>
|
359
375
|
</div>
|
360
376
|
</div>
|
361
377
|
|
362
|
-
<div id="method-
|
363
|
-
<a name="
|
378
|
+
<div id="method-M000152" class="method-detail">
|
379
|
+
<a name="M000152"></a>
|
364
380
|
|
365
381
|
<div class="method-heading">
|
366
|
-
<a href="#
|
382
|
+
<a href="#M000152" class="method-signature">
|
367
383
|
<span class="method-name">set_listing_xml</span><span class="method-args">(bucket_listing_xml)</span>
|
368
384
|
</a>
|
369
385
|
</div>
|
@@ -374,21 +390,30 @@ Convert a ListBucketResult <a href="../XML.html">XML</a> document into an
|
|
374
390
|
object representation.
|
375
391
|
</p>
|
376
392
|
<p><a class="source-toggle" href="#"
|
377
|
-
onclick="toggleCode('
|
378
|
-
<div class="method-source-code" id="
|
393
|
+
onclick="toggleCode('M000152-source');return false;">[Source]</a></p>
|
394
|
+
<div class="method-source-code" id="M000152-source">
|
379
395
|
<pre>
|
380
|
-
<span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
396
|
+
<span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line 42</span>
|
397
|
+
42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_listing_xml</span>(<span class="ruby-identifier">bucket_listing_xml</span>)
|
398
|
+
43: <span class="ruby-comment cmt"># proc to remove the namespace and parse the listing</span>
|
399
|
+
44: <span class="ruby-identifier">work</span> = <span class="ruby-identifier">lambda</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">bucket_listing_xml</span><span class="ruby-operator">|</span>
|
400
|
+
45: <span class="ruby-comment cmt"># remove the namespace declaration: libxml doesn't like it</span>
|
401
|
+
46: <span class="ruby-identifier">bucket_listing_xml</span> = <span class="ruby-constant">S33r</span>.<span class="ruby-identifier">remove_namespace</span>(<span class="ruby-identifier">bucket_listing_xml</span>)
|
402
|
+
47: <span class="ruby-identifier">parse_listing</span>(<span class="ruby-identifier">bucket_listing_xml</span>)
|
403
|
+
48: <span class="ruby-keyword kw">end</span>
|
404
|
+
49:
|
405
|
+
50: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@raw</span>
|
406
|
+
51: <span class="ruby-identifier">work</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">bucket_listing_xml</span>)
|
407
|
+
52: <span class="ruby-keyword kw">else</span>
|
408
|
+
53: <span class="ruby-keyword kw">begin</span>
|
409
|
+
54: <span class="ruby-identifier">work</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">bucket_listing_xml</span>)
|
410
|
+
55: <span class="ruby-keyword kw">rescue</span>
|
411
|
+
56: <span class="ruby-identifier">message</span> = <span class="ruby-value str">"Cannot create bucket listing from supplied XML"</span>
|
412
|
+
57: <span class="ruby-identifier">message</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">" (was nil)"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bucket_listing_xml</span>.<span class="ruby-identifier">nil?</span>
|
413
|
+
58: <span class="ruby-identifier">raise</span> <span class="ruby-constant">S33rException</span><span class="ruby-operator">::</span><span class="ruby-constant">InvalidBucketListing</span>, <span class="ruby-identifier">message</span>
|
414
|
+
59: <span class="ruby-keyword kw">end</span>
|
415
|
+
60: <span class="ruby-keyword kw">end</span>
|
416
|
+
61: <span class="ruby-keyword kw">end</span>
|
392
417
|
</pre>
|
393
418
|
</div>
|
394
419
|
</div>
|
@@ -94,41 +94,42 @@ other headers can be handled by the core.
|
|
94
94
|
<h3 class="section-bar">Methods</h3>
|
95
95
|
|
96
96
|
<div class="name-list">
|
97
|
-
<a href="#
|
98
|
-
<a href="#
|
99
|
-
<a href="#
|
100
|
-
<a href="#
|
101
|
-
<a href="#
|
102
|
-
<a href="#
|
103
|
-
<a href="#
|
104
|
-
<a href="#
|
105
|
-
<a href="#
|
106
|
-
<a href="#
|
107
|
-
<a href="#
|
108
|
-
<a href="#
|
109
|
-
<a href="#
|
110
|
-
<a href="#
|
111
|
-
<a href="#
|
112
|
-
<a href="#
|
113
|
-
<a href="#
|
114
|
-
<a href="#
|
115
|
-
<a href="#M000127">
|
116
|
-
<a href="#
|
117
|
-
<a href="#
|
118
|
-
<a href="#
|
119
|
-
<a href="#
|
120
|
-
<a href="#
|
121
|
-
<a href="#
|
122
|
-
<a href="#
|
123
|
-
<a href="#
|
124
|
-
<a href="#
|
125
|
-
<a href="#
|
126
|
-
<a href="#
|
127
|
-
<a href="#
|
128
|
-
<a href="#
|
129
|
-
<a href="#
|
130
|
-
<a href="#M000129">
|
131
|
-
<a href="#
|
97
|
+
<a href="#M000145">add_client_headers</a>
|
98
|
+
<a href="#M000126">bucket_exists?</a>
|
99
|
+
<a href="#M000124">create_bucket</a>
|
100
|
+
<a href="#M000125">delete_bucket</a>
|
101
|
+
<a href="#M000144">delete_resource</a>
|
102
|
+
<a href="#M000137">disable_log_target</a>
|
103
|
+
<a href="#M000139">disable_logging</a>
|
104
|
+
<a href="#M000150">do_delete</a>
|
105
|
+
<a href="#M000146">do_get</a>
|
106
|
+
<a href="#M000147">do_head</a>
|
107
|
+
<a href="#M000148">do_post</a>
|
108
|
+
<a href="#M000149">do_put</a>
|
109
|
+
<a href="#M000119">do_request</a>
|
110
|
+
<a href="#M000136">enable_log_target</a>
|
111
|
+
<a href="#M000138">enable_logging</a>
|
112
|
+
<a href="#M000131">get_acl</a>
|
113
|
+
<a href="#M000116">get_client</a>
|
114
|
+
<a href="#M000140">get_logging</a>
|
115
|
+
<a href="#M000127">get_named_bucket</a>
|
116
|
+
<a href="#M000130">get_object</a>
|
117
|
+
<a href="#M000120">get_requester</a>
|
118
|
+
<a href="#M000128">get_resource</a>
|
119
|
+
<a href="#M000117">init</a>
|
120
|
+
<a href="#M000122">list</a>
|
121
|
+
<a href="#M000123">list_bucket</a>
|
122
|
+
<a href="#M000121">list_buckets</a>
|
123
|
+
<a href="#M000118">load_config</a>
|
124
|
+
<a href="#M000135">make_private</a>
|
125
|
+
<a href="#M000134">make_public</a>
|
126
|
+
<a href="#M000115">new</a>
|
127
|
+
<a href="#M000143">put_file</a>
|
128
|
+
<a href="#M000141">put_resource</a>
|
129
|
+
<a href="#M000142">put_text</a>
|
130
|
+
<a href="#M000129">resource_exists?</a>
|
131
|
+
<a href="#M000132">set_acl</a>
|
132
|
+
<a href="#M000133">set_logging</a>
|
132
133
|
</div>
|
133
134
|
</div>
|
134
135
|
|
@@ -202,6 +203,16 @@ Whether client dumps headers from requests.
|
|
202
203
|
<td class="context-item-desc">
|
203
204
|
Default log bucket location.
|
204
205
|
|
206
|
+
</td>
|
207
|
+
</tr>
|
208
|
+
<tr class="top-aligned-row context-row">
|
209
|
+
<td class="context-item-name">options</td>
|
210
|
+
<td class="context-item-value"> [R] </td>
|
211
|
+
<td class="context-item-desc">
|
212
|
+
The options used to create the client (useful when spawning <a
|
213
|
+
href="NamedBucket.html">NamedBucket</a> instances from <a
|
214
|
+
href="Client.html">Client</a> instances).
|
215
|
+
|
205
216
|
</td>
|
206
217
|
</tr>
|
207
218
|
<tr class="top-aligned-row context-row">
|
@@ -222,11 +233,11 @@ Whether client should use SSL.
|
|
222
233
|
<div id="methods">
|
223
234
|
<h3 class="section-bar">Public Class methods</h3>
|
224
235
|
|
225
|
-
<div id="method-
|
226
|
-
<a name="
|
236
|
+
<div id="method-M000117" class="method-detail">
|
237
|
+
<a name="M000117"></a>
|
227
238
|
|
228
239
|
<div class="method-heading">
|
229
|
-
<a href="#
|
240
|
+
<a href="#M000117" class="method-signature">
|
230
241
|
<span class="method-name">init</span><span class="method-args">(config_file)</span>
|
231
242
|
</a>
|
232
243
|
</div>
|
@@ -234,28 +245,28 @@ Whether client should use SSL.
|
|
234
245
|
<div class="method-description">
|
235
246
|
<p>
|
236
247
|
Initialise client from YAML configuration file (see <a
|
237
|
-
href="Client.html#
|
248
|
+
href="Client.html#M000118">load_config</a> method for details of acceptable
|
238
249
|
format).
|
239
250
|
</p>
|
240
251
|
<p><a class="source-toggle" href="#"
|
241
|
-
onclick="toggleCode('
|
242
|
-
<div class="method-source-code" id="
|
252
|
+
onclick="toggleCode('M000117-source');return false;">[Source]</a></p>
|
253
|
+
<div class="method-source-code" id="M000117-source">
|
243
254
|
<pre>
|
244
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
255
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 95</span>
|
256
|
+
95: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Client</span>.<span class="ruby-identifier">init</span>(<span class="ruby-identifier">config_file</span>)
|
257
|
+
96: <span class="ruby-identifier">aws_access_key</span>, <span class="ruby-identifier">aws_secret_access_key</span>, <span class="ruby-identifier">options</span> = <span class="ruby-identifier">load_config</span>(<span class="ruby-identifier">config_file</span>)
|
258
|
+
97: <span class="ruby-constant">Client</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">aws_access_key</span>, <span class="ruby-identifier">aws_secret_access_key</span>, <span class="ruby-identifier">options</span>)
|
259
|
+
98: <span class="ruby-keyword kw">end</span>
|
249
260
|
</pre>
|
250
261
|
</div>
|
251
262
|
</div>
|
252
263
|
</div>
|
253
264
|
|
254
|
-
<div id="method-
|
255
|
-
<a name="
|
265
|
+
<div id="method-M000118" class="method-detail">
|
266
|
+
<a name="M000118"></a>
|
256
267
|
|
257
268
|
<div class="method-heading">
|
258
|
-
<a href="#
|
269
|
+
<a href="#M000118" class="method-signature">
|
259
270
|
<span class="method-name">load_config</span><span class="method-args">(config_file)</span>
|
260
271
|
</a>
|
261
272
|
</div>
|
@@ -279,41 +290,41 @@ Note that the loader also runs the config. file through ERB, so you can add
|
|
279
290
|
dynamic blocks of ERB (Ruby) code into your files.
|
280
291
|
</p>
|
281
292
|
<p>
|
282
|
-
The <tt>options</tt> section contains settings specific to
|
283
|
-
href="Client.html">Client</a>
|
284
|
-
|
285
|
-
<tt>
|
286
|
-
required.
|
293
|
+
The <tt>options</tt> section contains other settings, either specific to
|
294
|
+
the <a href="Client.html">Client</a> or <a
|
295
|
+
href="NamedBucket.html">NamedBucket</a> classes, or general application
|
296
|
+
settings. The <tt>options</tt> section can be omitted, but settings for AWS
|
297
|
+
keys are required.
|
287
298
|
</p>
|
288
299
|
<p>
|
289
300
|
Returns an array <tt>[aws_access_key, aws_secret_access_key, options]</tt>,
|
290
301
|
where <tt>options</tt> is a hash.
|
291
302
|
</p>
|
292
303
|
<p><a class="source-toggle" href="#"
|
293
|
-
onclick="toggleCode('
|
294
|
-
<div class="method-source-code" id="
|
304
|
+
onclick="toggleCode('M000118-source');return false;">[Source]</a></p>
|
305
|
+
<div class="method-source-code" id="M000118-source">
|
295
306
|
<pre>
|
296
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 113</span>
|
308
|
+
113: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Client</span>.<span class="ruby-identifier">load_config</span>(<span class="ruby-identifier">config_file</span>)
|
309
|
+
114: <span class="ruby-identifier">config</span> = <span class="ruby-constant">YAML</span><span class="ruby-operator">::</span><span class="ruby-identifier">load</span>(<span class="ruby-constant">ERB</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">IO</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">config_file</span>)).<span class="ruby-identifier">result</span>)
|
310
|
+
115: <span class="ruby-identifier">aws_access_key</span> = <span class="ruby-identifier">config</span>[<span class="ruby-value str">'aws_access_key'</span>]
|
311
|
+
116: <span class="ruby-identifier">aws_secret_access_key</span> = <span class="ruby-identifier">config</span>[<span class="ruby-value str">'aws_secret_access_key'</span>]
|
312
|
+
117:
|
313
|
+
118: <span class="ruby-identifier">options</span> = {}
|
314
|
+
119: <span class="ruby-identifier">options</span> = <span class="ruby-constant">S33r</span>.<span class="ruby-identifier">keys_to_symbols</span>(<span class="ruby-identifier">config</span>[<span class="ruby-value str">'options'</span>]) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">config</span>[<span class="ruby-value str">'options'</span>]
|
315
|
+
120:
|
316
|
+
121: [<span class="ruby-identifier">aws_access_key</span>, <span class="ruby-identifier">aws_secret_access_key</span>, <span class="ruby-identifier">options</span>]
|
317
|
+
122: <span class="ruby-keyword kw">end</span>
|
307
318
|
</pre>
|
308
319
|
</div>
|
309
320
|
</div>
|
310
321
|
</div>
|
311
322
|
|
312
|
-
<div id="method-
|
313
|
-
<a name="
|
323
|
+
<div id="method-M000115" class="method-detail">
|
324
|
+
<a name="M000115"></a>
|
314
325
|
|
315
326
|
<div class="method-heading">
|
316
|
-
<a href="#
|
327
|
+
<a href="#M000115" class="method-signature">
|
317
328
|
<span class="method-name">new</span><span class="method-args">(aws_access_key, aws_secret_access_key, options={})</span>
|
318
329
|
</a>
|
319
330
|
</div>
|
@@ -336,28 +347,32 @@ and headers to STDOUT
|
|
336
347
|
</li>
|
337
348
|
</ul>
|
338
349
|
<p><a class="source-toggle" href="#"
|
339
|
-
onclick="toggleCode('
|
340
|
-
<div class="method-source-code" id="
|
350
|
+
onclick="toggleCode('M000115-source');return false;">[Source]</a></p>
|
351
|
+
<div class="method-source-code" id="M000115-source">
|
341
352
|
<pre>
|
342
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
353
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 51</span>
|
354
|
+
51: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">aws_access_key</span>, <span class="ruby-identifier">aws_secret_access_key</span>, <span class="ruby-identifier">options</span>={})
|
355
|
+
52: <span class="ruby-ivar">@use_ssl</span> = <span class="ruby-keyword kw">true</span>
|
356
|
+
53: <span class="ruby-ivar">@use_ssl</span> = <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-keyword kw">false</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:use_ssl</span>])
|
357
|
+
54: <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:use_ssl</span>] = <span class="ruby-ivar">@use_ssl</span>
|
358
|
+
55:
|
359
|
+
56: <span class="ruby-ivar">@dump_requests</span> = (<span class="ruby-keyword kw">true</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:dump_requests</span>])
|
360
|
+
57:
|
361
|
+
58: <span class="ruby-comment cmt"># set default chunk size for streaming request body</span>
|
362
|
+
59: <span class="ruby-ivar">@chunk_size</span> = <span class="ruby-constant">DEFAULT_CHUNK_SIZE</span>
|
363
|
+
60:
|
364
|
+
61: <span class="ruby-ivar">@log_bucket</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:log_bucket</span>]
|
365
|
+
62:
|
366
|
+
63: <span class="ruby-comment cmt"># Amazon S3 developer keys</span>
|
367
|
+
64: <span class="ruby-ivar">@aws_access_key</span> = <span class="ruby-identifier">aws_access_key</span>
|
368
|
+
65: <span class="ruby-ivar">@aws_secret_access_key</span> = <span class="ruby-identifier">aws_secret_access_key</span>
|
369
|
+
66:
|
370
|
+
67: <span class="ruby-comment cmt"># headers sent with every request made by this client</span>
|
371
|
+
68: <span class="ruby-ivar">@client_headers</span> = {}
|
372
|
+
69:
|
373
|
+
70: <span class="ruby-comment cmt"># keep a record of the options used to create this instance</span>
|
374
|
+
71: <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
|
375
|
+
72: <span class="ruby-keyword kw">end</span>
|
361
376
|
</pre>
|
362
377
|
</div>
|
363
378
|
</div>
|
@@ -365,11 +380,11 @@ and headers to STDOUT
|
|
365
380
|
|
366
381
|
<h3 class="section-bar">Public Instance methods</h3>
|
367
382
|
|
368
|
-
<div id="method-
|
369
|
-
<a name="
|
383
|
+
<div id="method-M000145" class="method-detail">
|
384
|
+
<a name="M000145"></a>
|
370
385
|
|
371
386
|
<div class="method-heading">
|
372
|
-
<a href="#
|
387
|
+
<a href="#M000145" class="method-signature">
|
373
388
|
<span class="method-name">add_client_headers</span><span class="method-args">(headers)</span>
|
374
389
|
</a>
|
375
390
|
</div>
|
@@ -388,23 +403,23 @@ Returns <tt>headers</tt> with the content of <tt>client_headers</tt> merged
|
|
388
403
|
in.
|
389
404
|
</p>
|
390
405
|
<p><a class="source-toggle" href="#"
|
391
|
-
onclick="toggleCode('
|
392
|
-
<div class="method-source-code" id="
|
406
|
+
onclick="toggleCode('M000145-source');return false;">[Source]</a></p>
|
407
|
+
<div class="method-source-code" id="M000145-source">
|
393
408
|
<pre>
|
394
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
395
|
-
|
396
|
-
|
397
|
-
|
409
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 520</span>
|
410
|
+
520: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_client_headers</span>(<span class="ruby-identifier">headers</span>)
|
411
|
+
521: <span class="ruby-identifier">headers</span>.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">client_headers</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">arg</span>, <span class="ruby-identifier">default</span><span class="ruby-operator">|</span> <span class="ruby-identifier">arg</span> }
|
412
|
+
522: <span class="ruby-keyword kw">end</span>
|
398
413
|
</pre>
|
399
414
|
</div>
|
400
415
|
</div>
|
401
416
|
</div>
|
402
417
|
|
403
|
-
<div id="method-
|
404
|
-
<a name="
|
418
|
+
<div id="method-M000126" class="method-detail">
|
419
|
+
<a name="M000126"></a>
|
405
420
|
|
406
421
|
<div class="method-heading">
|
407
|
-
<a href="#
|
422
|
+
<a href="#M000126" class="method-signature">
|
408
423
|
<span class="method-name">bucket_exists?</span><span class="method-args">(bucket_name)</span>
|
409
424
|
</a>
|
410
425
|
</div>
|
@@ -412,28 +427,25 @@ in.
|
|
412
427
|
<div class="method-description">
|
413
428
|
<p>
|
414
429
|
Check whether a bucket exists or not.
|
415
|
-
</p>
|
416
|
-
<p>
|
417
|
-
Returns true if bucket exists.
|
418
430
|
</p>
|
419
431
|
<p><a class="source-toggle" href="#"
|
420
|
-
onclick="toggleCode('
|
421
|
-
<div class="method-source-code" id="
|
432
|
+
onclick="toggleCode('M000126-source');return false;">[Source]</a></p>
|
433
|
+
<div class="method-source-code" id="M000126-source">
|
422
434
|
<pre>
|
423
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
424
|
-
|
425
|
-
|
426
|
-
|
435
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 280</span>
|
436
|
+
280: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">bucket_exists?</span>(<span class="ruby-identifier">bucket_name</span>)
|
437
|
+
281: <span class="ruby-identifier">resource_exists?</span>(<span class="ruby-identifier">bucket_name</span>)
|
438
|
+
282: <span class="ruby-keyword kw">end</span>
|
427
439
|
</pre>
|
428
440
|
</div>
|
429
441
|
</div>
|
430
442
|
</div>
|
431
443
|
|
432
|
-
<div id="method-
|
433
|
-
<a name="
|
444
|
+
<div id="method-M000124" class="method-detail">
|
445
|
+
<a name="M000124"></a>
|
434
446
|
|
435
447
|
<div class="method-heading">
|
436
|
-
<a href="#
|
448
|
+
<a href="#M000124" class="method-signature">
|
437
449
|
<span class="method-name">create_bucket</span><span class="method-args">(bucket_name, headers={})</span>
|
438
450
|
</a>
|
439
451
|
</div>
|
@@ -446,24 +458,24 @@ Create a bucket.
|
|
446
458
|
Returns true if response returned a 200 code; false otherwise.
|
447
459
|
</p>
|
448
460
|
<p><a class="source-toggle" href="#"
|
449
|
-
onclick="toggleCode('
|
450
|
-
<div class="method-source-code" id="
|
461
|
+
onclick="toggleCode('M000124-source');return false;">[Source]</a></p>
|
462
|
+
<div class="method-source-code" id="M000124-source">
|
451
463
|
<pre>
|
452
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
464
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 257</span>
|
465
|
+
257: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_bucket</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">headers</span>={})
|
466
|
+
258: <span class="ruby-identifier">resp</span> = <span class="ruby-identifier">do_put</span>(<span class="ruby-node">"/#{bucket_name}"</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">headers</span>)
|
467
|
+
259: <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">ok?</span>
|
468
|
+
260: <span class="ruby-keyword kw">end</span>
|
457
469
|
</pre>
|
458
470
|
</div>
|
459
471
|
</div>
|
460
472
|
</div>
|
461
473
|
|
462
|
-
<div id="method-
|
463
|
-
<a name="
|
474
|
+
<div id="method-M000125" class="method-detail">
|
475
|
+
<a name="M000125"></a>
|
464
476
|
|
465
477
|
<div class="method-heading">
|
466
|
-
<a href="#
|
478
|
+
<a href="#M000125" class="method-signature">
|
467
479
|
<span class="method-name">delete_bucket</span><span class="method-args">(bucket_name, headers={}, options={})</span>
|
468
480
|
</a>
|
469
481
|
</div>
|
@@ -482,30 +494,30 @@ the bucket itself
|
|
482
494
|
</li>
|
483
495
|
</ul>
|
484
496
|
<p><a class="source-toggle" href="#"
|
485
|
-
onclick="toggleCode('
|
486
|
-
<div class="method-source-code" id="
|
497
|
+
onclick="toggleCode('M000125-source');return false;">[Source]</a></p>
|
498
|
+
<div class="method-source-code" id="M000125-source">
|
487
499
|
<pre>
|
488
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
500
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 268</span>
|
501
|
+
268: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete_bucket</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">headers</span>={}, <span class="ruby-identifier">options</span>={})
|
502
|
+
269: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">true</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:force</span>]
|
503
|
+
270: <span class="ruby-identifier">_</span>, <span class="ruby-identifier">bucket_listing</span> = <span class="ruby-identifier">list_bucket</span>(<span class="ruby-identifier">bucket_name</span>)
|
504
|
+
271: <span class="ruby-identifier">bucket_listing</span>.<span class="ruby-identifier">contents</span>.<span class="ruby-identifier">each_value</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">obj</span><span class="ruby-operator">|</span>
|
505
|
+
272: <span class="ruby-identifier">delete_resource</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">key</span>)
|
506
|
+
273: <span class="ruby-keyword kw">end</span>
|
507
|
+
274: <span class="ruby-keyword kw">end</span>
|
508
|
+
275:
|
509
|
+
276: <span class="ruby-identifier">do_delete</span>(<span class="ruby-node">"/#{bucket_name}"</span>, <span class="ruby-identifier">headers</span>)
|
510
|
+
277: <span class="ruby-keyword kw">end</span>
|
499
511
|
</pre>
|
500
512
|
</div>
|
501
513
|
</div>
|
502
514
|
</div>
|
503
515
|
|
504
|
-
<div id="method-
|
505
|
-
<a name="
|
516
|
+
<div id="method-M000144" class="method-detail">
|
517
|
+
<a name="M000144"></a>
|
506
518
|
|
507
519
|
<div class="method-heading">
|
508
|
-
<a href="#
|
520
|
+
<a href="#M000144" class="method-signature">
|
509
521
|
<span class="method-name">delete_resource</span><span class="method-args">(bucket_name, resource_key, headers={})</span>
|
510
522
|
</a>
|
511
523
|
</div>
|
@@ -515,28 +527,28 @@ the bucket itself
|
|
515
527
|
Delete a resource from S3.
|
516
528
|
</p>
|
517
529
|
<p>
|
518
|
-
Note that S3 returns the same response code
|
530
|
+
Note that S3 returns the same response code regardless of whether the
|
519
531
|
resource was successfully deleted, or didn’t exist in the first
|
520
532
|
place.
|
521
533
|
</p>
|
522
534
|
<p><a class="source-toggle" href="#"
|
523
|
-
onclick="toggleCode('
|
524
|
-
<div class="method-source-code" id="
|
535
|
+
onclick="toggleCode('M000144-source');return false;">[Source]</a></p>
|
536
|
+
<div class="method-source-code" id="M000144-source">
|
525
537
|
<pre>
|
526
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
527
|
-
|
528
|
-
|
529
|
-
|
538
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 510</span>
|
539
|
+
510: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete_resource</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>={})
|
540
|
+
511: <span class="ruby-identifier">do_delete</span>(<span class="ruby-node">"/#{bucket_name}/#{resource_key}"</span>, <span class="ruby-identifier">headers</span>)
|
541
|
+
512: <span class="ruby-keyword kw">end</span>
|
530
542
|
</pre>
|
531
543
|
</div>
|
532
544
|
</div>
|
533
545
|
</div>
|
534
546
|
|
535
|
-
<div id="method-
|
536
|
-
<a name="
|
547
|
+
<div id="method-M000137" class="method-detail">
|
548
|
+
<a name="M000137"></a>
|
537
549
|
|
538
550
|
<div class="method-heading">
|
539
|
-
<a href="#
|
551
|
+
<a href="#M000137" class="method-signature">
|
540
552
|
<span class="method-name">disable_log_target</span><span class="method-args">(bucket_name)</span>
|
541
553
|
</a>
|
542
554
|
</div>
|
@@ -550,166 +562,166 @@ Returns true if the bucket is no longer log targetable; false if it remains
|
|
550
562
|
a log target.
|
551
563
|
</p>
|
552
564
|
<p><a class="source-toggle" href="#"
|
553
|
-
onclick="toggleCode('
|
554
|
-
<div class="method-source-code" id="
|
565
|
+
onclick="toggleCode('M000137-source');return false;">[Source]</a></p>
|
566
|
+
<div class="method-source-code" id="M000137-source">
|
555
567
|
<pre>
|
556
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
568
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 396</span>
|
569
|
+
396: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disable_log_target</span>(<span class="ruby-identifier">bucket_name</span>)
|
570
|
+
397: <span class="ruby-identifier">acl</span> = <span class="ruby-identifier">get_acl</span>(<span class="ruby-identifier">bucket_name</span>)
|
571
|
+
398: <span class="ruby-identifier">acl</span>.<span class="ruby-identifier">remove_log_target</span>
|
572
|
+
399: <span class="ruby-identifier">set_acl</span>(<span class="ruby-identifier">acl</span>, <span class="ruby-identifier">bucket_name</span>)
|
573
|
+
400: <span class="ruby-operator">!</span><span class="ruby-identifier">acl</span>.<span class="ruby-identifier">log_targetable?</span>
|
574
|
+
401: <span class="ruby-keyword kw">end</span>
|
563
575
|
</pre>
|
564
576
|
</div>
|
565
577
|
</div>
|
566
578
|
</div>
|
567
579
|
|
568
|
-
<div id="method-
|
569
|
-
<a name="
|
580
|
+
<div id="method-M000139" class="method-detail">
|
581
|
+
<a name="M000139"></a>
|
570
582
|
|
571
583
|
<div class="method-heading">
|
572
|
-
<a href="#
|
584
|
+
<a href="#M000139" class="method-signature">
|
573
585
|
<span class="method-name">disable_logging</span><span class="method-args">()</span>
|
574
586
|
</a>
|
575
587
|
</div>
|
576
588
|
|
577
589
|
<div class="method-description">
|
578
590
|
<p>
|
579
|
-
|
591
|
+
Turn off logging of a resource.
|
580
592
|
</p>
|
581
593
|
<p><a class="source-toggle" href="#"
|
582
|
-
onclick="toggleCode('
|
583
|
-
<div class="method-source-code" id="
|
594
|
+
onclick="toggleCode('M000139-source');return false;">[Source]</a></p>
|
595
|
+
<div class="method-source-code" id="M000139-source">
|
584
596
|
<pre>
|
585
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
586
|
-
|
587
|
-
|
597
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 436</span>
|
598
|
+
436: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disable_logging</span>
|
599
|
+
437: <span class="ruby-keyword kw">end</span>
|
588
600
|
</pre>
|
589
601
|
</div>
|
590
602
|
</div>
|
591
603
|
</div>
|
592
604
|
|
593
|
-
<div id="method-
|
594
|
-
<a name="
|
605
|
+
<div id="method-M000150" class="method-detail">
|
606
|
+
<a name="M000150"></a>
|
595
607
|
|
596
608
|
<div class="method-heading">
|
597
|
-
<a href="#
|
609
|
+
<a href="#M000150" class="method-signature">
|
598
610
|
<span class="method-name">do_delete</span><span class="method-args">(path, headers={})</span>
|
599
611
|
</a>
|
600
612
|
</div>
|
601
613
|
|
602
614
|
<div class="method-description">
|
603
615
|
<p><a class="source-toggle" href="#"
|
604
|
-
onclick="toggleCode('
|
605
|
-
<div class="method-source-code" id="
|
616
|
+
onclick="toggleCode('M000150-source');return false;">[Source]</a></p>
|
617
|
+
<div class="method-source-code" id="M000150-source">
|
606
618
|
<pre>
|
607
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
608
|
-
|
609
|
-
|
610
|
-
|
619
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 540</span>
|
620
|
+
540: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">do_delete</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">headers</span>={})
|
621
|
+
541: <span class="ruby-identifier">do_request</span>(<span class="ruby-value str">'DELETE'</span>, <span class="ruby-identifier">path</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">headers</span>)
|
622
|
+
542: <span class="ruby-keyword kw">end</span>
|
611
623
|
</pre>
|
612
624
|
</div>
|
613
625
|
</div>
|
614
626
|
</div>
|
615
627
|
|
616
|
-
<div id="method-
|
617
|
-
<a name="
|
628
|
+
<div id="method-M000146" class="method-detail">
|
629
|
+
<a name="M000146"></a>
|
618
630
|
|
619
631
|
<div class="method-heading">
|
620
|
-
<a href="#
|
632
|
+
<a href="#M000146" class="method-signature">
|
621
633
|
<span class="method-name">do_get</span><span class="method-args">(path='/', headers={})</span>
|
622
634
|
</a>
|
623
635
|
</div>
|
624
636
|
|
625
637
|
<div class="method-description">
|
626
638
|
<p><a class="source-toggle" href="#"
|
627
|
-
onclick="toggleCode('
|
628
|
-
<div class="method-source-code" id="
|
639
|
+
onclick="toggleCode('M000146-source');return false;">[Source]</a></p>
|
640
|
+
<div class="method-source-code" id="M000146-source">
|
629
641
|
<pre>
|
630
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
631
|
-
|
632
|
-
|
633
|
-
|
642
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 524</span>
|
643
|
+
524: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">do_get</span>(<span class="ruby-identifier">path</span>=<span class="ruby-value str">'/'</span>, <span class="ruby-identifier">headers</span>={})
|
644
|
+
525: <span class="ruby-identifier">do_request</span>(<span class="ruby-value str">'GET'</span>, <span class="ruby-identifier">path</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">headers</span>)
|
645
|
+
526: <span class="ruby-keyword kw">end</span>
|
634
646
|
</pre>
|
635
647
|
</div>
|
636
648
|
</div>
|
637
649
|
</div>
|
638
650
|
|
639
|
-
<div id="method-
|
640
|
-
<a name="
|
651
|
+
<div id="method-M000147" class="method-detail">
|
652
|
+
<a name="M000147"></a>
|
641
653
|
|
642
654
|
<div class="method-heading">
|
643
|
-
<a href="#
|
655
|
+
<a href="#M000147" class="method-signature">
|
644
656
|
<span class="method-name">do_head</span><span class="method-args">(path='/', headers={})</span>
|
645
657
|
</a>
|
646
658
|
</div>
|
647
659
|
|
648
660
|
<div class="method-description">
|
649
661
|
<p><a class="source-toggle" href="#"
|
650
|
-
onclick="toggleCode('
|
651
|
-
<div class="method-source-code" id="
|
662
|
+
onclick="toggleCode('M000147-source');return false;">[Source]</a></p>
|
663
|
+
<div class="method-source-code" id="M000147-source">
|
652
664
|
<pre>
|
653
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
654
|
-
|
655
|
-
|
656
|
-
|
665
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 528</span>
|
666
|
+
528: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">do_head</span>(<span class="ruby-identifier">path</span>=<span class="ruby-value str">'/'</span>, <span class="ruby-identifier">headers</span>={})
|
667
|
+
529: <span class="ruby-identifier">do_request</span>(<span class="ruby-value str">'HEAD'</span>, <span class="ruby-identifier">path</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">headers</span>)
|
668
|
+
530: <span class="ruby-keyword kw">end</span>
|
657
669
|
</pre>
|
658
670
|
</div>
|
659
671
|
</div>
|
660
672
|
</div>
|
661
673
|
|
662
|
-
<div id="method-
|
663
|
-
<a name="
|
674
|
+
<div id="method-M000148" class="method-detail">
|
675
|
+
<a name="M000148"></a>
|
664
676
|
|
665
677
|
<div class="method-heading">
|
666
|
-
<a href="#
|
678
|
+
<a href="#M000148" class="method-signature">
|
667
679
|
<span class="method-name">do_post</span><span class="method-args">(path='/', data=nil, headers={})</span>
|
668
680
|
</a>
|
669
681
|
</div>
|
670
682
|
|
671
683
|
<div class="method-description">
|
672
684
|
<p><a class="source-toggle" href="#"
|
673
|
-
onclick="toggleCode('
|
674
|
-
<div class="method-source-code" id="
|
685
|
+
onclick="toggleCode('M000148-source');return false;">[Source]</a></p>
|
686
|
+
<div class="method-source-code" id="M000148-source">
|
675
687
|
<pre>
|
676
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
677
|
-
|
678
|
-
|
679
|
-
|
688
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 532</span>
|
689
|
+
532: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">do_post</span>(<span class="ruby-identifier">path</span>=<span class="ruby-value str">'/'</span>, <span class="ruby-identifier">data</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">headers</span>={})
|
690
|
+
533: <span class="ruby-identifier">do_request</span>(<span class="ruby-value str">'POST'</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">headers</span>)
|
691
|
+
534: <span class="ruby-keyword kw">end</span>
|
680
692
|
</pre>
|
681
693
|
</div>
|
682
694
|
</div>
|
683
695
|
</div>
|
684
696
|
|
685
|
-
<div id="method-
|
686
|
-
<a name="
|
697
|
+
<div id="method-M000149" class="method-detail">
|
698
|
+
<a name="M000149"></a>
|
687
699
|
|
688
700
|
<div class="method-heading">
|
689
|
-
<a href="#
|
701
|
+
<a href="#M000149" class="method-signature">
|
690
702
|
<span class="method-name">do_put</span><span class="method-args">(path='/', data=nil, headers={})</span>
|
691
703
|
</a>
|
692
704
|
</div>
|
693
705
|
|
694
706
|
<div class="method-description">
|
695
707
|
<p><a class="source-toggle" href="#"
|
696
|
-
onclick="toggleCode('
|
697
|
-
<div class="method-source-code" id="
|
708
|
+
onclick="toggleCode('M000149-source');return false;">[Source]</a></p>
|
709
|
+
<div class="method-source-code" id="M000149-source">
|
698
710
|
<pre>
|
699
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
700
|
-
|
701
|
-
|
702
|
-
|
711
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 536</span>
|
712
|
+
536: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">do_put</span>(<span class="ruby-identifier">path</span>=<span class="ruby-value str">'/'</span>, <span class="ruby-identifier">data</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">headers</span>={})
|
713
|
+
537: <span class="ruby-identifier">do_request</span>(<span class="ruby-value str">'PUT'</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">headers</span>)
|
714
|
+
538: <span class="ruby-keyword kw">end</span>
|
703
715
|
</pre>
|
704
716
|
</div>
|
705
717
|
</div>
|
706
718
|
</div>
|
707
719
|
|
708
|
-
<div id="method-
|
709
|
-
<a name="
|
720
|
+
<div id="method-M000119" class="method-detail">
|
721
|
+
<a name="M000119"></a>
|
710
722
|
|
711
723
|
<div class="method-heading">
|
712
|
-
<a href="#
|
724
|
+
<a href="#M000119" class="method-signature">
|
713
725
|
<span class="method-name">do_request</span><span class="method-args">(method, path, data=nil, headers={})</span>
|
714
726
|
</a>
|
715
727
|
</div>
|
@@ -727,68 +739,69 @@ Returns a <a href="../Net/HTTPResponse.html">Net::HTTPResponse</a>
|
|
727
739
|
instance.
|
728
740
|
</p>
|
729
741
|
<p><a class="source-toggle" href="#"
|
730
|
-
onclick="toggleCode('
|
731
|
-
<div class="method-source-code" id="
|
742
|
+
onclick="toggleCode('M000119-source');return false;">[Source]</a></p>
|
743
|
+
<div class="method-source-code" id="M000119-source">
|
732
744
|
<pre>
|
733
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
130:
|
744
|
-
131: <span class="ruby-comment cmt"># Generate the S3 authorization header.</span>
|
745
|
-
132: <span class="ruby-identifier">headers</span>[<span class="ruby-value str">'Authorization'</span>] = <span class="ruby-identifier">generate_auth_header_value</span>(<span class="ruby-identifier">method</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">headers</span>,
|
746
|
-
133: <span class="ruby-ivar">@aws_access_key</span>, <span class="ruby-ivar">@aws_secret_access_key</span>)
|
747
|
-
134:
|
748
|
-
135: <span class="ruby-comment cmt"># Insert the headers into the request object.</span>
|
749
|
-
136: <span class="ruby-identifier">headers</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
|
750
|
-
137: <span class="ruby-identifier">req</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">value</span>
|
751
|
-
138: <span class="ruby-keyword kw">end</span>
|
745
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 130</span>
|
746
|
+
130: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">do_request</span>(<span class="ruby-identifier">method</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">data</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">headers</span>={})
|
747
|
+
131: <span class="ruby-identifier">req</span> = <span class="ruby-identifier">get_requester</span>(<span class="ruby-identifier">method</span>, <span class="ruby-identifier">path</span>)
|
748
|
+
132: <span class="ruby-identifier">req</span>.<span class="ruby-identifier">chunk_size</span> = <span class="ruby-ivar">@chunk_size</span>
|
749
|
+
133:
|
750
|
+
134: <span class="ruby-comment cmt"># Add the S3 headers which are always required.</span>
|
751
|
+
135: <span class="ruby-identifier">headers</span> = <span class="ruby-identifier">add_default_headers</span>(<span class="ruby-identifier">headers</span>)
|
752
|
+
136:
|
753
|
+
137: <span class="ruby-comment cmt"># Add any client-specific default headers.</span>
|
754
|
+
138: <span class="ruby-identifier">headers</span> = <span class="ruby-identifier">add_client_headers</span>(<span class="ruby-identifier">headers</span>)
|
752
755
|
139:
|
753
|
-
140: <span class="ruby-comment cmt">#
|
754
|
-
141: <span class="ruby-
|
755
|
-
142: <span class="ruby-
|
756
|
-
143:
|
757
|
-
144:
|
758
|
-
145:
|
759
|
-
146:
|
760
|
-
147:
|
761
|
-
148:
|
762
|
-
149:
|
763
|
-
150: <span class="ruby-keyword kw">
|
764
|
-
151: <span class="ruby-
|
765
|
-
152:
|
766
|
-
153:
|
767
|
-
154:
|
768
|
-
155:
|
769
|
-
156:
|
770
|
-
157:
|
771
|
-
158:
|
772
|
-
159: <span class="ruby-
|
773
|
-
160:
|
774
|
-
161:
|
775
|
-
162:
|
776
|
-
163:
|
777
|
-
164: <span class="ruby-identifier">
|
778
|
-
165:
|
779
|
-
166:
|
780
|
-
167: <span class="ruby-
|
781
|
-
168:
|
756
|
+
140: <span class="ruby-comment cmt"># Generate the S3 authorization header.</span>
|
757
|
+
141: <span class="ruby-identifier">headers</span>[<span class="ruby-value str">'Authorization'</span>] = <span class="ruby-identifier">generate_auth_header_value</span>(<span class="ruby-identifier">method</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">headers</span>,
|
758
|
+
142: <span class="ruby-ivar">@aws_access_key</span>, <span class="ruby-ivar">@aws_secret_access_key</span>)
|
759
|
+
143:
|
760
|
+
144: <span class="ruby-comment cmt"># Insert the headers into the request object.</span>
|
761
|
+
145: <span class="ruby-identifier">headers</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
|
762
|
+
146: <span class="ruby-identifier">req</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">value</span>
|
763
|
+
147: <span class="ruby-keyword kw">end</span>
|
764
|
+
148:
|
765
|
+
149: <span class="ruby-comment cmt"># Add data to the request as a stream.</span>
|
766
|
+
150: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">req</span>.<span class="ruby-identifier">request_body_permitted?</span>
|
767
|
+
151: <span class="ruby-comment cmt"># For streaming files; NB Content-Length will be set by Net::HTTP</span>
|
768
|
+
152: <span class="ruby-comment cmt"># for character-based data: this section of code is only used</span>
|
769
|
+
153: <span class="ruby-comment cmt"># when reading directly from a file.</span>
|
770
|
+
154: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">data</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:stat</span>)
|
771
|
+
155: <span class="ruby-identifier">req</span>.<span class="ruby-identifier">body_stream</span> = <span class="ruby-identifier">data</span>
|
772
|
+
156: <span class="ruby-identifier">req</span>[<span class="ruby-value str">'Content-Length'</span>] = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">stat</span>.<span class="ruby-identifier">size</span>.<span class="ruby-identifier">to_s</span>
|
773
|
+
157: <span class="ruby-identifier">data</span> = <span class="ruby-keyword kw">nil</span>
|
774
|
+
158: <span class="ruby-keyword kw">end</span>
|
775
|
+
159: <span class="ruby-keyword kw">else</span>
|
776
|
+
160: <span class="ruby-identifier">data</span> = <span class="ruby-keyword kw">nil</span>
|
777
|
+
161: <span class="ruby-keyword kw">end</span>
|
778
|
+
162:
|
779
|
+
163: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@dump_requests</span>
|
780
|
+
164: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">req</span>.<span class="ruby-identifier">to_s</span>
|
781
|
+
165: <span class="ruby-keyword kw">end</span>
|
782
|
+
166:
|
783
|
+
167: <span class="ruby-comment cmt"># Run the request.</span>
|
784
|
+
168: <span class="ruby-identifier">client</span> = <span class="ruby-identifier">get_client</span>
|
785
|
+
169: <span class="ruby-identifier">client</span>.<span class="ruby-identifier">start</span> <span class="ruby-keyword kw">do</span>
|
786
|
+
170: <span class="ruby-identifier">response</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-identifier">req</span>, <span class="ruby-identifier">data</span>)
|
787
|
+
171:
|
788
|
+
172: <span class="ruby-comment cmt"># Check the response to see whether S3 is down;</span>
|
789
|
+
173: <span class="ruby-comment cmt"># raises an S3FallenOver error if S3 returns a 500-503 response code</span>
|
790
|
+
174: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">check_s3_availability</span>
|
791
|
+
175:
|
792
|
+
176: <span class="ruby-identifier">response</span>
|
793
|
+
177: <span class="ruby-keyword kw">end</span>
|
794
|
+
178: <span class="ruby-keyword kw">end</span>
|
782
795
|
</pre>
|
783
796
|
</div>
|
784
797
|
</div>
|
785
798
|
</div>
|
786
799
|
|
787
|
-
<div id="method-
|
788
|
-
<a name="
|
800
|
+
<div id="method-M000136" class="method-detail">
|
801
|
+
<a name="M000136"></a>
|
789
802
|
|
790
803
|
<div class="method-heading">
|
791
|
-
<a href="#
|
804
|
+
<a href="#M000136" class="method-signature">
|
792
805
|
<span class="method-name">enable_log_target</span><span class="method-args">(bucket_name)</span>
|
793
806
|
</a>
|
794
807
|
</div>
|
@@ -801,34 +814,34 @@ Make a bucket capable of being a target for access logging.
|
|
801
814
|
Returns true if the bucket is now a possible log target; false otherwise.
|
802
815
|
</p>
|
803
816
|
<p><a class="source-toggle" href="#"
|
804
|
-
onclick="toggleCode('
|
805
|
-
<div class="method-source-code" id="
|
817
|
+
onclick="toggleCode('M000136-source');return false;">[Source]</a></p>
|
818
|
+
<div class="method-source-code" id="M000136-source">
|
806
819
|
<pre>
|
807
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
|
820
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 382</span>
|
821
|
+
382: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">enable_log_target</span>(<span class="ruby-identifier">bucket_name</span>)
|
822
|
+
383: <span class="ruby-identifier">acl</span> = <span class="ruby-identifier">get_acl</span>(<span class="ruby-identifier">bucket_name</span>)
|
823
|
+
384: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">acl</span>.<span class="ruby-identifier">add_log_target_grants</span>
|
824
|
+
385: <span class="ruby-identifier">set_acl</span>(<span class="ruby-identifier">acl</span>, <span class="ruby-identifier">bucket_name</span>)
|
825
|
+
386: <span class="ruby-keyword kw">end</span>
|
826
|
+
387: <span class="ruby-identifier">acl</span>.<span class="ruby-identifier">log_targetable?</span>
|
827
|
+
388: <span class="ruby-keyword kw">end</span>
|
815
828
|
</pre>
|
816
829
|
</div>
|
817
830
|
</div>
|
818
831
|
</div>
|
819
832
|
|
820
|
-
<div id="method-
|
821
|
-
<a name="
|
833
|
+
<div id="method-M000138" class="method-detail">
|
834
|
+
<a name="M000138"></a>
|
822
835
|
|
823
836
|
<div class="method-heading">
|
824
|
-
<a href="#
|
837
|
+
<a href="#M000138" class="method-signature">
|
825
838
|
<span class="method-name">enable_logging</span><span class="method-args">(bucket_name, log_bucket=nil, options={})</span>
|
826
839
|
</a>
|
827
840
|
</div>
|
828
841
|
|
829
842
|
<div class="method-description">
|
830
843
|
<p>
|
831
|
-
Enable logging for a resource (
|
844
|
+
Enable logging for a resource (only buckets are supported presently).
|
832
845
|
</p>
|
833
846
|
<p>
|
834
847
|
<tt>log_prefix</tt> is the prefix for the logs. <tt>bucket_name</tt> is the
|
@@ -844,36 +857,37 @@ options:
|
|
844
857
|
(defaults to bucket_name + '-')
|
845
858
|
</pre>
|
846
859
|
<p><a class="source-toggle" href="#"
|
847
|
-
onclick="toggleCode('
|
848
|
-
<div class="method-source-code" id="
|
860
|
+
onclick="toggleCode('M000138-source');return false;">[Source]</a></p>
|
861
|
+
<div class="method-source-code" id="M000138-source">
|
849
862
|
<pre>
|
850
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
851
|
-
|
852
|
-
|
853
|
-
|
854
|
-
|
855
|
-
|
856
|
-
|
857
|
-
|
858
|
-
|
859
|
-
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
863
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 416</span>
|
864
|
+
416: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">enable_logging</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">log_bucket</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">options</span>={})
|
865
|
+
417: <span class="ruby-comment cmt"># Set to the default log_bucket if not set explicitly.</span>
|
866
|
+
418: <span class="ruby-identifier">log_bucket</span> <span class="ruby-operator">||=</span> <span class="ruby-ivar">@log_bucket</span>
|
867
|
+
419:
|
868
|
+
420: <span class="ruby-identifier">resource_key</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:for_key</span>]
|
869
|
+
421: <span class="ruby-identifier">resource_key</span> <span class="ruby-operator">||=</span> <span class="ruby-value str">''</span>
|
870
|
+
422:
|
871
|
+
423: <span class="ruby-identifier">log_prefix</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:prefix</span>]
|
872
|
+
424: <span class="ruby-identifier">log_prefix</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">bucket_name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'-'</span>
|
873
|
+
425:
|
874
|
+
426: <span class="ruby-identifier">log_bucket_acl</span> = <span class="ruby-identifier">get_acl</span>(<span class="ruby-identifier">log_bucket</span>)
|
875
|
+
427: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span>(<span class="ruby-identifier">log_bucket_acl</span>.<span class="ruby-identifier">log_targetable?</span>)
|
876
|
+
428: <span class="ruby-identifier">raise</span> <span class="ruby-constant">BucketNotLogTargetable</span>, <span class="ruby-node">"The bucket #{log_bucket} cannot be specified as a log target"</span>
|
877
|
+
429: <span class="ruby-keyword kw">end</span>
|
878
|
+
430: <span class="ruby-identifier">logging_resource</span> = <span class="ruby-constant">LoggingResource</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">log_bucket</span>, <span class="ruby-identifier">log_prefix</span>)
|
879
|
+
431: <span class="ruby-identifier">set_logging</span>(<span class="ruby-identifier">logging_resource</span>, <span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>)
|
880
|
+
432: <span class="ruby-keyword kw">end</span>
|
867
881
|
</pre>
|
868
882
|
</div>
|
869
883
|
</div>
|
870
884
|
</div>
|
871
885
|
|
872
|
-
<div id="method-
|
873
|
-
<a name="
|
886
|
+
<div id="method-M000131" class="method-detail">
|
887
|
+
<a name="M000131"></a>
|
874
888
|
|
875
889
|
<div class="method-heading">
|
876
|
-
<a href="#
|
890
|
+
<a href="#M000131" class="method-signature">
|
877
891
|
<span class="method-name">get_acl</span><span class="method-args">(bucket_name, resource_key='')</span>
|
878
892
|
</a>
|
879
893
|
</div>
|
@@ -883,33 +897,33 @@ options:
|
|
883
897
|
Fetch the ACL document for a resource.
|
884
898
|
</p>
|
885
899
|
<p>
|
886
|
-
|
887
|
-
exist).
|
900
|
+
Raises an exception if there is a problem with the resource (e.g. it
|
901
|
+
doesn’t exist).
|
888
902
|
</p>
|
889
903
|
<p><a class="source-toggle" href="#"
|
890
|
-
onclick="toggleCode('
|
891
|
-
<div class="method-source-code" id="
|
904
|
+
onclick="toggleCode('M000131-source');return false;">[Source]</a></p>
|
905
|
+
<div class="method-source-code" id="M000131-source">
|
892
906
|
<pre>
|
893
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
894
|
-
|
895
|
-
|
896
|
-
|
897
|
-
|
898
|
-
|
899
|
-
|
900
|
-
|
901
|
-
|
902
|
-
|
907
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 326</span>
|
908
|
+
326: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_acl</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>=<span class="ruby-value str">''</span>)
|
909
|
+
327: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">s3_acl_path</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>)
|
910
|
+
328: <span class="ruby-identifier">response</span> = <span class="ruby-identifier">do_get</span>(<span class="ruby-identifier">path</span>)
|
911
|
+
329: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">ok?</span>
|
912
|
+
330: <span class="ruby-constant">S3ACL</span><span class="ruby-operator">::</span><span class="ruby-constant">ACLDoc</span>.<span class="ruby-identifier">from_xml</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
|
913
|
+
331: <span class="ruby-keyword kw">else</span>
|
914
|
+
332: <span class="ruby-identifier">raise</span> <span class="ruby-constant">S33rException</span><span class="ruby-operator">::</span><span class="ruby-constant">MissingResource</span>, <span class="ruby-node">"Tried to get an ACL from a non-existent resource [#{path}]"</span>
|
915
|
+
333: <span class="ruby-keyword kw">end</span>
|
916
|
+
334: <span class="ruby-keyword kw">end</span>
|
903
917
|
</pre>
|
904
918
|
</div>
|
905
919
|
</div>
|
906
920
|
</div>
|
907
921
|
|
908
|
-
<div id="method-
|
909
|
-
<a name="
|
922
|
+
<div id="method-M000116" class="method-detail">
|
923
|
+
<a name="M000116"></a>
|
910
924
|
|
911
925
|
<div class="method-heading">
|
912
|
-
<a href="#
|
926
|
+
<a href="#M000116" class="method-signature">
|
913
927
|
<span class="method-name">get_client</span><span class="method-args">()</span>
|
914
928
|
</a>
|
915
929
|
</div>
|
@@ -921,51 +935,51 @@ Get an HTTP client instance.
|
|
921
935
|
<p>
|
922
936
|
NB this has been moved here so that client instances are only instantiated
|
923
937
|
when needed (so <a href="Client.html">Client</a> can be used as an empty
|
924
|
-
shell when <a href="Client.html#
|
938
|
+
shell when <a href="Client.html#M000121">list_buckets</a> is called).
|
925
939
|
</p>
|
926
940
|
<p><a class="source-toggle" href="#"
|
927
|
-
onclick="toggleCode('
|
928
|
-
<div class="method-source-code" id="
|
941
|
+
onclick="toggleCode('M000116-source');return false;">[Source]</a></p>
|
942
|
+
<div class="method-source-code" id="M000116-source">
|
929
943
|
<pre>
|
930
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
931
|
-
|
932
|
-
|
933
|
-
|
934
|
-
|
935
|
-
|
936
|
-
|
937
|
-
|
938
|
-
|
939
|
-
|
940
|
-
|
941
|
-
|
942
|
-
|
943
|
-
|
944
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 79</span>
|
945
|
+
79: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_client</span>
|
946
|
+
80: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@use_ssl</span>
|
947
|
+
81: <span class="ruby-identifier">client</span> = <span class="ruby-constant">HTTP</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">HOST</span>, <span class="ruby-constant">PORT</span>)
|
948
|
+
82: <span class="ruby-comment cmt"># turn off SSL certificate verification</span>
|
949
|
+
83: <span class="ruby-identifier">client</span>.<span class="ruby-identifier">verify_mode</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">SSL</span><span class="ruby-operator">::</span><span class="ruby-constant">VERIFY_NONE</span>
|
950
|
+
84: <span class="ruby-identifier">client</span>.<span class="ruby-identifier">use_ssl</span> = <span class="ruby-keyword kw">true</span>
|
951
|
+
85: <span class="ruby-keyword kw">else</span>
|
952
|
+
86: <span class="ruby-identifier">client</span> = <span class="ruby-constant">HTTP</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">HOST</span>, <span class="ruby-constant">NON_SSL_PORT</span>)
|
953
|
+
87: <span class="ruby-identifier">client</span>.<span class="ruby-identifier">use_ssl</span> = <span class="ruby-keyword kw">false</span>
|
954
|
+
88: <span class="ruby-keyword kw">end</span>
|
955
|
+
89:
|
956
|
+
90: <span class="ruby-identifier">client</span>
|
957
|
+
91: <span class="ruby-keyword kw">end</span>
|
944
958
|
</pre>
|
945
959
|
</div>
|
946
960
|
</div>
|
947
961
|
</div>
|
948
962
|
|
949
|
-
<div id="method-
|
950
|
-
<a name="
|
963
|
+
<div id="method-M000140" class="method-detail">
|
964
|
+
<a name="M000140"></a>
|
951
965
|
|
952
966
|
<div class="method-heading">
|
953
|
-
<a href="#
|
967
|
+
<a href="#M000140" class="method-signature">
|
954
968
|
<span class="method-name">get_logging</span><span class="method-args">()</span>
|
955
969
|
</a>
|
956
970
|
</div>
|
957
971
|
|
958
972
|
<div class="method-description">
|
959
973
|
<p>
|
960
|
-
|
974
|
+
Get the logging status of a resource.
|
961
975
|
</p>
|
962
976
|
<p><a class="source-toggle" href="#"
|
963
|
-
onclick="toggleCode('
|
964
|
-
<div class="method-source-code" id="
|
977
|
+
onclick="toggleCode('M000140-source');return false;">[Source]</a></p>
|
978
|
+
<div class="method-source-code" id="M000140-source">
|
965
979
|
<pre>
|
966
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
967
|
-
|
968
|
-
|
980
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 441</span>
|
981
|
+
441: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_logging</span>
|
982
|
+
442: <span class="ruby-keyword kw">end</span>
|
969
983
|
</pre>
|
970
984
|
</div>
|
971
985
|
</div>
|
@@ -976,35 +990,70 @@ TODO
|
|
976
990
|
|
977
991
|
<div class="method-heading">
|
978
992
|
<a href="#M000127" class="method-signature">
|
979
|
-
<span class="method-name">
|
993
|
+
<span class="method-name">get_named_bucket</span><span class="method-args">(bucket_name, options={}) {|named_bucket if block_given?| ...}</span>
|
980
994
|
</a>
|
981
995
|
</div>
|
982
996
|
|
983
997
|
<div class="method-description">
|
984
998
|
<p>
|
985
|
-
|
999
|
+
Create a <a href="NamedBucket.html">NamedBucket</a> instance.
|
986
1000
|
</p>
|
987
1001
|
<p>
|
988
|
-
|
1002
|
+
<tt>options</tt> is a hash of extra options to use when creating the <a
|
1003
|
+
href="NamedBucket.html">NamedBucket</a> instance (see
|
1004
|
+
NamedBucket.initialize); specify :parent to use the same options used to
|
1005
|
+
create this <a href="Client.html">Client</a> instance.
|
989
1006
|
</p>
|
990
1007
|
<p><a class="source-toggle" href="#"
|
991
1008
|
onclick="toggleCode('M000127-source');return false;">[Source]</a></p>
|
992
1009
|
<div class="method-source-code" id="M000127-source">
|
993
1010
|
<pre>
|
994
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
995
|
-
|
996
|
-
|
997
|
-
|
1011
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 290</span>
|
1012
|
+
290: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_named_bucket</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">options</span>={}, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
1013
|
+
291: <span class="ruby-identifier">options</span> = <span class="ruby-ivar">@options</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">:parent</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">options</span>
|
1014
|
+
292: <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:default_bucket</span>] = <span class="ruby-identifier">bucket_name</span>
|
1015
|
+
293: <span class="ruby-identifier">named_bucket</span> = <span class="ruby-constant">NamedBucket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@aws_access_key</span>, <span class="ruby-ivar">@aws_secret_access_key</span>, <span class="ruby-identifier">options</span>)
|
1016
|
+
294: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">named_bucket</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
|
1017
|
+
295: <span class="ruby-identifier">named_bucket</span>
|
1018
|
+
296: <span class="ruby-keyword kw">end</span>
|
998
1019
|
</pre>
|
999
1020
|
</div>
|
1000
1021
|
</div>
|
1001
1022
|
</div>
|
1002
1023
|
|
1003
|
-
<div id="method-
|
1004
|
-
<a name="
|
1024
|
+
<div id="method-M000130" class="method-detail">
|
1025
|
+
<a name="M000130"></a>
|
1005
1026
|
|
1006
1027
|
<div class="method-heading">
|
1007
|
-
<a href="#
|
1028
|
+
<a href="#M000130" class="method-signature">
|
1029
|
+
<span class="method-name">get_object</span><span class="method-args">(bucket_name, resource_key, headers={})</span>
|
1030
|
+
</a>
|
1031
|
+
</div>
|
1032
|
+
|
1033
|
+
<div class="method-description">
|
1034
|
+
<p>
|
1035
|
+
Fetch an object. Note that this actually pulls down the object from S3 and
|
1036
|
+
instantiates the <a href="S3Object.html">S3Object</a> instance with it.
|
1037
|
+
</p>
|
1038
|
+
<p><a class="source-toggle" href="#"
|
1039
|
+
onclick="toggleCode('M000130-source');return false;">[Source]</a></p>
|
1040
|
+
<div class="method-source-code" id="M000130-source">
|
1041
|
+
<pre>
|
1042
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 317</span>
|
1043
|
+
317: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>={})
|
1044
|
+
318: <span class="ruby-identifier">response</span> = <span class="ruby-identifier">get_resource</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>)
|
1045
|
+
319: <span class="ruby-constant">S3Object</span>.<span class="ruby-identifier">from_response</span>(<span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">response</span>)
|
1046
|
+
320: <span class="ruby-keyword kw">end</span>
|
1047
|
+
</pre>
|
1048
|
+
</div>
|
1049
|
+
</div>
|
1050
|
+
</div>
|
1051
|
+
|
1052
|
+
<div id="method-M000120" class="method-detail">
|
1053
|
+
<a name="M000120"></a>
|
1054
|
+
|
1055
|
+
<div class="method-heading">
|
1056
|
+
<a href="#M000120" class="method-signature">
|
1008
1057
|
<span class="method-name">get_requester</span><span class="method-args">(method, path)</span>
|
1009
1058
|
</a>
|
1010
1059
|
</div>
|
@@ -1014,24 +1063,24 @@ TODO: return <a href="S3Object.html">S3Object</a>
|
|
1014
1063
|
Return an instance of an appropriate request class.
|
1015
1064
|
</p>
|
1016
1065
|
<p><a class="source-toggle" href="#"
|
1017
|
-
onclick="toggleCode('
|
1018
|
-
<div class="method-source-code" id="
|
1066
|
+
onclick="toggleCode('M000120-source');return false;">[Source]</a></p>
|
1067
|
+
<div class="method-source-code" id="M000120-source">
|
1019
1068
|
<pre>
|
1020
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
1021
|
-
|
1022
|
-
|
1023
|
-
|
1024
|
-
|
1069
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 181</span>
|
1070
|
+
181: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_requester</span>(<span class="ruby-identifier">method</span>, <span class="ruby-identifier">path</span>)
|
1071
|
+
182: <span class="ruby-identifier">raise</span> <span class="ruby-constant">S33rException</span><span class="ruby-operator">::</span><span class="ruby-constant">UnsupportedHTTPMethod</span>, <span class="ruby-node">"The #{method} HTTP method is not supported"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span>(<span class="ruby-constant">METHOD_VERBS</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">method</span>))
|
1072
|
+
183: <span class="ruby-identifier">eval</span>(<span class="ruby-value str">"HTTP::"</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">method</span>[<span class="ruby-value">0</span>,<span class="ruby-value">1</span>].<span class="ruby-identifier">upcase</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">method</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>].<span class="ruby-identifier">downcase</span> <span class="ruby-operator">+</span> <span class="ruby-node">".new('#{path}')"</span>)
|
1073
|
+
184: <span class="ruby-keyword kw">end</span>
|
1025
1074
|
</pre>
|
1026
1075
|
</div>
|
1027
1076
|
</div>
|
1028
1077
|
</div>
|
1029
1078
|
|
1030
|
-
<div id="method-
|
1031
|
-
<a name="
|
1079
|
+
<div id="method-M000128" class="method-detail">
|
1080
|
+
<a name="M000128"></a>
|
1032
1081
|
|
1033
1082
|
<div class="method-heading">
|
1034
|
-
<a href="#
|
1083
|
+
<a href="#M000128" class="method-signature">
|
1035
1084
|
<span class="method-name">get_resource</span><span class="method-args">(bucket_name, resource_key, headers={})</span>
|
1036
1085
|
</a>
|
1037
1086
|
</div>
|
@@ -1039,25 +1088,30 @@ Return an instance of an appropriate request class.
|
|
1039
1088
|
<div class="method-description">
|
1040
1089
|
<p>
|
1041
1090
|
Fetch a resource.
|
1091
|
+
</p>
|
1092
|
+
<p>
|
1093
|
+
Returns a plain response, not an <a href="S3Object.html">S3Object</a>: if
|
1094
|
+
you want an object back, use <a href="Client.html#M000130">get_object</a>
|
1095
|
+
instead.
|
1042
1096
|
</p>
|
1043
1097
|
<p><a class="source-toggle" href="#"
|
1044
|
-
onclick="toggleCode('
|
1045
|
-
<div class="method-source-code" id="
|
1098
|
+
onclick="toggleCode('M000128-source');return false;">[Source]</a></p>
|
1099
|
+
<div class="method-source-code" id="M000128-source">
|
1046
1100
|
<pre>
|
1047
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
1048
|
-
|
1049
|
-
|
1050
|
-
|
1101
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 302</span>
|
1102
|
+
302: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_resource</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>={})
|
1103
|
+
303: <span class="ruby-identifier">do_get</span>(<span class="ruby-node">"/#{bucket_name}/#{resource_key}"</span>, <span class="ruby-identifier">headers</span>)
|
1104
|
+
304: <span class="ruby-keyword kw">end</span>
|
1051
1105
|
</pre>
|
1052
1106
|
</div>
|
1053
1107
|
</div>
|
1054
1108
|
</div>
|
1055
1109
|
|
1056
|
-
<div id="method-
|
1057
|
-
<a name="
|
1110
|
+
<div id="method-M000122" class="method-detail">
|
1111
|
+
<a name="M000122"></a>
|
1058
1112
|
|
1059
1113
|
<div class="method-heading">
|
1060
|
-
<a href="#
|
1114
|
+
<a href="#M000122" class="method-signature">
|
1061
1115
|
<span class="method-name">list</span><span class="method-args">()</span>
|
1062
1116
|
</a>
|
1063
1117
|
</div>
|
@@ -1067,23 +1121,23 @@ Fetch a resource.
|
|
1067
1121
|
List just bucket names.
|
1068
1122
|
</p>
|
1069
1123
|
<p><a class="source-toggle" href="#"
|
1070
|
-
onclick="toggleCode('
|
1071
|
-
<div class="method-source-code" id="
|
1124
|
+
onclick="toggleCode('M000122-source');return false;">[Source]</a></p>
|
1125
|
+
<div class="method-source-code" id="M000122-source">
|
1072
1126
|
<pre>
|
1073
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
1074
|
-
|
1075
|
-
|
1076
|
-
|
1127
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 211</span>
|
1128
|
+
211: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">list</span>
|
1129
|
+
212: <span class="ruby-identifier">list_buckets</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">bucket</span><span class="ruby-operator">|</span> <span class="ruby-identifier">bucket</span>.<span class="ruby-identifier">name</span>}
|
1130
|
+
213: <span class="ruby-keyword kw">end</span>
|
1077
1131
|
</pre>
|
1078
1132
|
</div>
|
1079
1133
|
</div>
|
1080
1134
|
</div>
|
1081
1135
|
|
1082
|
-
<div id="method-
|
1083
|
-
<a name="
|
1136
|
+
<div id="method-M000123" class="method-detail">
|
1137
|
+
<a name="M000123"></a>
|
1084
1138
|
|
1085
1139
|
<div class="method-heading">
|
1086
|
-
<a href="#
|
1140
|
+
<a href="#M000123" class="method-signature">
|
1087
1141
|
<span class="method-name">list_bucket</span><span class="method-args">(bucket_name, query_params={})</span>
|
1088
1142
|
</a>
|
1089
1143
|
</div>
|
@@ -1141,34 +1195,34 @@ Returns [raw_response, <a href="BucketListing.html">BucketListing</a>
|
|
1141
1195
|
instance].
|
1142
1196
|
</p>
|
1143
1197
|
<p><a class="source-toggle" href="#"
|
1144
|
-
onclick="toggleCode('
|
1145
|
-
<div class="method-source-code" id="
|
1198
|
+
onclick="toggleCode('M000123-source');return false;">[Source]</a></p>
|
1199
|
+
<div class="method-source-code" id="M000123-source">
|
1146
1200
|
<pre>
|
1147
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
1148
|
-
|
1149
|
-
|
1150
|
-
|
1151
|
-
|
1152
|
-
|
1153
|
-
|
1154
|
-
|
1155
|
-
|
1156
|
-
|
1157
|
-
|
1158
|
-
|
1159
|
-
|
1160
|
-
|
1161
|
-
|
1201
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 239</span>
|
1202
|
+
239: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">list_bucket</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">query_params</span>={})
|
1203
|
+
240: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">query_params</span>[<span class="ruby-identifier">:max_keys</span>]
|
1204
|
+
241: <span class="ruby-identifier">max_keys</span> = <span class="ruby-identifier">query_params</span>[<span class="ruby-identifier">:max_keys</span>].<span class="ruby-identifier">to_i</span>
|
1205
|
+
242: <span class="ruby-identifier">raise</span> <span class="ruby-constant">S33rException</span><span class="ruby-operator">::</span><span class="ruby-constant">BucketListingMaxKeysError</span>, <span class="ruby-node">"max_keys option to list bucket cannot be > #{BUCKET_LIST_MAX_MAX_KEYS}"</span> \
|
1206
|
+
243: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">max_keys</span> <span class="ruby-operator">></span> <span class="ruby-constant">BUCKET_LIST_MAX_MAX_KEYS</span>
|
1207
|
+
244:
|
1208
|
+
245: <span class="ruby-comment cmt"># convert :max_keys querystring parameter to 'max-keys' parameter</span>
|
1209
|
+
246: <span class="ruby-identifier">query_params</span>[<span class="ruby-value str">'max-keys'</span>] = <span class="ruby-identifier">query_params</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">:max_keys</span>)
|
1210
|
+
247: <span class="ruby-keyword kw">end</span>
|
1211
|
+
248:
|
1212
|
+
249: <span class="ruby-identifier">resp</span> = <span class="ruby-identifier">do_get</span>(<span class="ruby-node">"/#{bucket_name}"</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">generate_querystring</span>(<span class="ruby-identifier">query_params</span>))
|
1213
|
+
250:
|
1214
|
+
251: [<span class="ruby-identifier">resp</span>, <span class="ruby-constant">BucketListing</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">resp</span>.<span class="ruby-identifier">body</span>)]
|
1215
|
+
252: <span class="ruby-keyword kw">end</span>
|
1162
1216
|
</pre>
|
1163
1217
|
</div>
|
1164
1218
|
</div>
|
1165
1219
|
</div>
|
1166
1220
|
|
1167
|
-
<div id="method-
|
1168
|
-
<a name="
|
1221
|
+
<div id="method-M000121" class="method-detail">
|
1222
|
+
<a name="M000121"></a>
|
1169
1223
|
|
1170
1224
|
<div class="method-heading">
|
1171
|
-
<a href="#
|
1225
|
+
<a href="#M000121" class="method-signature">
|
1172
1226
|
<span class="method-name">list_buckets</span><span class="method-args">()</span>
|
1173
1227
|
</a>
|
1174
1228
|
</div>
|
@@ -1178,62 +1232,65 @@ instance].
|
|
1178
1232
|
List all buckets.
|
1179
1233
|
</p>
|
1180
1234
|
<p>
|
1181
|
-
Returns an
|
1235
|
+
Returns an array of <a href="NamedBucket.html">NamedBucket</a> instances;
|
1236
|
+
array will be empty if the <a href="BucketListing.html">BucketListing</a>
|
1237
|
+
parse fails for any reason (i.e. no <Bucket> elements occur in it).
|
1182
1238
|
</p>
|
1183
1239
|
<p><a class="source-toggle" href="#"
|
1184
|
-
onclick="toggleCode('
|
1185
|
-
<div class="method-source-code" id="
|
1240
|
+
onclick="toggleCode('M000121-source');return false;">[Source]</a></p>
|
1241
|
+
<div class="method-source-code" id="M000121-source">
|
1186
1242
|
<pre>
|
1187
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
1188
|
-
|
1189
|
-
|
1190
|
-
|
1191
|
-
|
1192
|
-
|
1193
|
-
|
1194
|
-
|
1195
|
-
|
1196
|
-
|
1197
|
-
|
1198
|
-
|
1199
|
-
|
1200
|
-
|
1201
|
-
|
1243
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 191</span>
|
1244
|
+
191: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">list_buckets</span>
|
1245
|
+
192: <span class="ruby-identifier">bucket_list_xml</span> = <span class="ruby-identifier">do_get</span>(<span class="ruby-value str">'/'</span>).<span class="ruby-identifier">body</span>
|
1246
|
+
193: <span class="ruby-identifier">doc</span> = <span class="ruby-constant">XML</span>.<span class="ruby-identifier">get_xml_doc</span>(<span class="ruby-constant">S33r</span>.<span class="ruby-identifier">remove_namespace</span>(<span class="ruby-identifier">bucket_list_xml</span>))
|
1247
|
+
194:
|
1248
|
+
195: <span class="ruby-identifier">named_buckets</span> = []
|
1249
|
+
196:
|
1250
|
+
197: <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">find</span>(<span class="ruby-value str">"//Bucket"</span>).<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">node</span><span class="ruby-operator">|</span>
|
1251
|
+
198: <span class="ruby-identifier">bucket_name</span> = <span class="ruby-identifier">node</span>.<span class="ruby-identifier">xget</span>(<span class="ruby-value str">'Name'</span>)
|
1252
|
+
199: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bucket_name</span>
|
1253
|
+
200: <span class="ruby-comment cmt"># The NamedBucket instances inherit the request dumping behaviour</span>
|
1254
|
+
201: <span class="ruby-comment cmt"># of this client.</span>
|
1255
|
+
202: <span class="ruby-identifier">named_buckets</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">NamedBucket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@aws_access_key</span>, <span class="ruby-ivar">@aws_secret_access_key</span>,
|
1256
|
+
203: {<span class="ruby-identifier">:default_bucket</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">:dump_request</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dump_requests</span>})
|
1257
|
+
204: <span class="ruby-keyword kw">end</span>
|
1258
|
+
205: <span class="ruby-keyword kw">end</span>
|
1259
|
+
206:
|
1260
|
+
207: <span class="ruby-identifier">named_buckets</span>
|
1261
|
+
208: <span class="ruby-keyword kw">end</span>
|
1202
1262
|
</pre>
|
1203
1263
|
</div>
|
1204
1264
|
</div>
|
1205
1265
|
</div>
|
1206
1266
|
|
1207
|
-
<div id="method-
|
1208
|
-
<a name="
|
1267
|
+
<div id="method-M000135" class="method-detail">
|
1268
|
+
<a name="M000135"></a>
|
1209
1269
|
|
1210
1270
|
<div class="method-heading">
|
1211
|
-
<a href="#
|
1271
|
+
<a href="#M000135" class="method-signature">
|
1212
1272
|
<span class="method-name">make_private</span><span class="method-args">()</span>
|
1213
1273
|
</a>
|
1214
1274
|
</div>
|
1215
1275
|
|
1216
1276
|
<div class="method-description">
|
1217
|
-
<p>
|
1218
|
-
TODO
|
1219
|
-
</p>
|
1220
1277
|
<p><a class="source-toggle" href="#"
|
1221
|
-
onclick="toggleCode('
|
1222
|
-
<div class="method-source-code" id="
|
1278
|
+
onclick="toggleCode('M000135-source');return false;">[Source]</a></p>
|
1279
|
+
<div class="method-source-code" id="M000135-source">
|
1223
1280
|
<pre>
|
1224
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
1225
|
-
|
1226
|
-
|
1281
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 373</span>
|
1282
|
+
373: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">make_private</span>
|
1283
|
+
374: <span class="ruby-keyword kw">end</span>
|
1227
1284
|
</pre>
|
1228
1285
|
</div>
|
1229
1286
|
</div>
|
1230
1287
|
</div>
|
1231
1288
|
|
1232
|
-
<div id="method-
|
1233
|
-
<a name="
|
1289
|
+
<div id="method-M000134" class="method-detail">
|
1290
|
+
<a name="M000134"></a>
|
1234
1291
|
|
1235
1292
|
<div class="method-heading">
|
1236
|
-
<a href="#
|
1293
|
+
<a href="#M000134" class="method-signature">
|
1237
1294
|
<span class="method-name">make_public</span><span class="method-args">(bucket_name, resource_key='')</span>
|
1238
1295
|
</a>
|
1239
1296
|
</div>
|
@@ -1248,26 +1305,26 @@ public too.
|
|
1248
1305
|
Returns nil if resource does not exist.
|
1249
1306
|
</p>
|
1250
1307
|
<p><a class="source-toggle" href="#"
|
1251
|
-
onclick="toggleCode('
|
1252
|
-
<div class="method-source-code" id="
|
1308
|
+
onclick="toggleCode('M000134-source');return false;">[Source]</a></p>
|
1309
|
+
<div class="method-source-code" id="M000134-source">
|
1253
1310
|
<pre>
|
1254
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
1255
|
-
|
1256
|
-
|
1257
|
-
|
1258
|
-
|
1259
|
-
|
1260
|
-
|
1311
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 365</span>
|
1312
|
+
365: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">make_public</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>=<span class="ruby-value str">''</span>)
|
1313
|
+
366: <span class="ruby-identifier">acl</span> = <span class="ruby-identifier">get_acl</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>)
|
1314
|
+
367: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">acl</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">acl</span>.<span class="ruby-identifier">add_public_read_grants</span>
|
1315
|
+
368: <span class="ruby-identifier">set_acl</span>(<span class="ruby-identifier">acl</span>, <span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>)
|
1316
|
+
369: <span class="ruby-keyword kw">end</span>
|
1317
|
+
370: <span class="ruby-keyword kw">end</span>
|
1261
1318
|
</pre>
|
1262
1319
|
</div>
|
1263
1320
|
</div>
|
1264
1321
|
</div>
|
1265
1322
|
|
1266
|
-
<div id="method-
|
1267
|
-
<a name="
|
1323
|
+
<div id="method-M000143" class="method-detail">
|
1324
|
+
<a name="M000143"></a>
|
1268
1325
|
|
1269
1326
|
<div class="method-heading">
|
1270
|
-
<a href="#
|
1327
|
+
<a href="#M000143" class="method-signature">
|
1271
1328
|
<span class="method-name">put_file</span><span class="method-args">(filename, bucket_name, resource_key=nil, headers={}, options={})</span>
|
1272
1329
|
</a>
|
1273
1330
|
</div>
|
@@ -1302,49 +1359,51 @@ Note that this method uses a handle to the file, so it can be streamed in
|
|
1302
1359
|
chunks to S3.
|
1303
1360
|
</p>
|
1304
1361
|
<p><a class="source-toggle" href="#"
|
1305
|
-
onclick="toggleCode('
|
1306
|
-
<div class="method-source-code" id="
|
1362
|
+
onclick="toggleCode('M000143-source');return false;">[Source]</a></p>
|
1363
|
+
<div class="method-source-code" id="M000143-source">
|
1307
1364
|
<pre>
|
1308
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
1309
|
-
|
1310
|
-
|
1311
|
-
|
1312
|
-
|
1313
|
-
|
1314
|
-
|
1315
|
-
|
1316
|
-
|
1317
|
-
|
1318
|
-
|
1319
|
-
|
1320
|
-
|
1321
|
-
|
1322
|
-
|
1323
|
-
|
1324
|
-
|
1325
|
-
|
1326
|
-
|
1327
|
-
|
1328
|
-
|
1329
|
-
|
1330
|
-
|
1331
|
-
|
1332
|
-
|
1333
|
-
|
1334
|
-
|
1335
|
-
|
1336
|
-
|
1337
|
-
|
1365
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 473</span>
|
1366
|
+
473: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">put_file</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">headers</span>={}, <span class="ruby-identifier">options</span>={})
|
1367
|
+
474: <span class="ruby-comment cmt"># default to the file path as the resource key if none explicitly set</span>
|
1368
|
+
475: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">resource_key</span>.<span class="ruby-identifier">nil?</span>
|
1369
|
+
476: <span class="ruby-identifier">resource_key</span> = <span class="ruby-identifier">filename</span>
|
1370
|
+
477: <span class="ruby-keyword kw">end</span>
|
1371
|
+
478:
|
1372
|
+
479: <span class="ruby-comment cmt"># set Content-Disposition header</span>
|
1373
|
+
480: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:render_as_attachment</span>]
|
1374
|
+
481: <span class="ruby-identifier">headers</span>[<span class="ruby-value str">'Content-Disposition'</span>] = <span class="ruby-node">"attachment; filename=#{File.basename(filename)}"</span>
|
1375
|
+
482: <span class="ruby-keyword kw">end</span>
|
1376
|
+
483:
|
1377
|
+
484: <span class="ruby-comment cmt"># content type is explicitly set in the headers, so apply to request</span>
|
1378
|
+
485: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">headers</span>[<span class="ruby-identifier">:content_type</span>]
|
1379
|
+
486: <span class="ruby-comment cmt"># use the first MIME type corresponding to this content type string</span>
|
1380
|
+
487: <span class="ruby-comment cmt"># (MIME::Types returns an array of possible MIME types)</span>
|
1381
|
+
488: <span class="ruby-identifier">mime_type</span> = <span class="ruby-constant">MIME</span><span class="ruby-operator">::</span><span class="ruby-constant">Types</span>[<span class="ruby-identifier">headers</span>[<span class="ruby-identifier">:content_type</span>]][<span class="ruby-value">0</span>]
|
1382
|
+
489: <span class="ruby-keyword kw">else</span>
|
1383
|
+
490: <span class="ruby-comment cmt"># we're not going to use this much, just for parsing the content type etc.</span>
|
1384
|
+
491: <span class="ruby-identifier">mime_type</span> = <span class="ruby-identifier">guess_mime_type</span>(<span class="ruby-identifier">filename</span>)
|
1385
|
+
492: <span class="ruby-keyword kw">end</span>
|
1386
|
+
493: <span class="ruby-identifier">content_type</span> = <span class="ruby-identifier">mime_type</span>.<span class="ruby-identifier">simplified</span>
|
1387
|
+
494: <span class="ruby-identifier">headers</span>[<span class="ruby-value str">'Content-Type'</span>] = <span class="ruby-identifier">content_type</span>
|
1388
|
+
495: <span class="ruby-identifier">headers</span>[<span class="ruby-value str">'Content-Transfer-Encoding'</span>] = <span class="ruby-value str">'binary'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">mime_type</span>.<span class="ruby-identifier">binary?</span>
|
1389
|
+
496:
|
1390
|
+
497: <span class="ruby-comment cmt"># Open the file, and pass the handle to the HTTP client so content</span>
|
1391
|
+
498: <span class="ruby-comment cmt"># can be streamed.</span>
|
1392
|
+
499: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">filename</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">data</span><span class="ruby-operator">|</span>
|
1393
|
+
500: <span class="ruby-comment cmt"># send the put request</span>
|
1394
|
+
501: <span class="ruby-identifier">put_resource</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">headers</span>)
|
1395
|
+
502: <span class="ruby-keyword kw">end</span>
|
1396
|
+
503: <span class="ruby-keyword kw">end</span>
|
1338
1397
|
</pre>
|
1339
1398
|
</div>
|
1340
1399
|
</div>
|
1341
1400
|
</div>
|
1342
1401
|
|
1343
|
-
<div id="method-
|
1344
|
-
<a name="
|
1402
|
+
<div id="method-M000141" class="method-detail">
|
1403
|
+
<a name="M000141"></a>
|
1345
1404
|
|
1346
1405
|
<div class="method-heading">
|
1347
|
-
<a href="#
|
1406
|
+
<a href="#M000141" class="method-signature">
|
1348
1407
|
<span class="method-name">put_resource</span><span class="method-args">(bucket_name, resource_key, data, headers={})</span>
|
1349
1408
|
</a>
|
1350
1409
|
</div>
|
@@ -1352,25 +1411,32 @@ chunks to S3.
|
|
1352
1411
|
<div class="method-description">
|
1353
1412
|
<p>
|
1354
1413
|
Put some generic resource onto S3.
|
1414
|
+
</p>
|
1415
|
+
<p>
|
1416
|
+
To stream with this method, <tt>data</tt> should respond to the
|
1417
|
+
<tt>stat</tt> method; examples of data types which respond to this include
|
1418
|
+
File instances.
|
1355
1419
|
</p>
|
1356
1420
|
<p><a class="source-toggle" href="#"
|
1357
|
-
onclick="toggleCode('
|
1358
|
-
<div class="method-source-code" id="
|
1421
|
+
onclick="toggleCode('M000141-source');return false;">[Source]</a></p>
|
1422
|
+
<div class="method-source-code" id="M000141-source">
|
1359
1423
|
<pre>
|
1360
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
1361
|
-
|
1362
|
-
|
1363
|
-
|
1424
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 448</span>
|
1425
|
+
448: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">put_resource</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">headers</span>={})
|
1426
|
+
449: <span class="ruby-identifier">raise</span> <span class="ruby-constant">S33r</span><span class="ruby-operator">::</span><span class="ruby-constant">S33rException</span><span class="ruby-operator">::</span><span class="ruby-constant">TryingToPutEmptyResource</span>, <span class="ruby-node">"No data to put for key '#{resource_key}'"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">data</span>
|
1427
|
+
450: <span class="ruby-identifier">resp</span> = <span class="ruby-identifier">do_put</span>(<span class="ruby-node">"/#{bucket_name}/"</span> <span class="ruby-operator">+</span> <span class="ruby-node">"#{CGI::escape(resource_key)}"</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">headers</span>)
|
1428
|
+
451: <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">ok?</span>
|
1429
|
+
452: <span class="ruby-keyword kw">end</span>
|
1364
1430
|
</pre>
|
1365
1431
|
</div>
|
1366
1432
|
</div>
|
1367
1433
|
</div>
|
1368
1434
|
|
1369
|
-
<div id="method-
|
1370
|
-
<a name="
|
1435
|
+
<div id="method-M000142" class="method-detail">
|
1436
|
+
<a name="M000142"></a>
|
1371
1437
|
|
1372
1438
|
<div class="method-heading">
|
1373
|
-
<a href="#
|
1439
|
+
<a href="#M000142" class="method-signature">
|
1374
1440
|
<span class="method-name">put_text</span><span class="method-args">(string, bucket_name, resource_key, headers={})</span>
|
1375
1441
|
</a>
|
1376
1442
|
</div>
|
@@ -1380,24 +1446,24 @@ Put some generic resource onto S3.
|
|
1380
1446
|
Put a string onto S3.
|
1381
1447
|
</p>
|
1382
1448
|
<p><a class="source-toggle" href="#"
|
1383
|
-
onclick="toggleCode('
|
1384
|
-
<div class="method-source-code" id="
|
1449
|
+
onclick="toggleCode('M000142-source');return false;">[Source]</a></p>
|
1450
|
+
<div class="method-source-code" id="M000142-source">
|
1385
1451
|
<pre>
|
1386
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
1387
|
-
|
1388
|
-
|
1389
|
-
|
1390
|
-
|
1452
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 455</span>
|
1453
|
+
455: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">put_text</span>(<span class="ruby-identifier">string</span>, <span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>={})
|
1454
|
+
456: <span class="ruby-identifier">headers</span>[<span class="ruby-value str">"Content-Type"</span>] = <span class="ruby-value str">"text/plain"</span>
|
1455
|
+
457: <span class="ruby-identifier">put_resource</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">string</span>, <span class="ruby-identifier">headers</span>)
|
1456
|
+
458: <span class="ruby-keyword kw">end</span>
|
1391
1457
|
</pre>
|
1392
1458
|
</div>
|
1393
1459
|
</div>
|
1394
1460
|
</div>
|
1395
1461
|
|
1396
|
-
<div id="method-
|
1397
|
-
<a name="
|
1462
|
+
<div id="method-M000129" class="method-detail">
|
1463
|
+
<a name="M000129"></a>
|
1398
1464
|
|
1399
1465
|
<div class="method-heading">
|
1400
|
-
<a href="#
|
1466
|
+
<a href="#M000129" class="method-signature">
|
1401
1467
|
<span class="method-name">resource_exists?</span><span class="method-args">(bucket_name, resource_key=nil)</span>
|
1402
1468
|
</a>
|
1403
1469
|
</div>
|
@@ -1407,35 +1473,35 @@ Put a string onto S3.
|
|
1407
1473
|
Check whether a bucket contains a key.
|
1408
1474
|
</p>
|
1409
1475
|
<p>
|
1410
|
-
Returns true if resource_key exists inside bucket_name
|
1476
|
+
Returns true if resource_key exists inside bucket_name.
|
1411
1477
|
</p>
|
1412
1478
|
<p><a class="source-toggle" href="#"
|
1413
|
-
onclick="toggleCode('
|
1414
|
-
<div class="method-source-code" id="
|
1479
|
+
onclick="toggleCode('M000129-source');return false;">[Source]</a></p>
|
1480
|
+
<div class="method-source-code" id="M000129-source">
|
1415
1481
|
<pre>
|
1416
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
1417
|
-
|
1418
|
-
|
1419
|
-
|
1420
|
-
|
1421
|
-
|
1482
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 309</span>
|
1483
|
+
309: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resource_exists?</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>=<span class="ruby-keyword kw">nil</span>)
|
1484
|
+
310: <span class="ruby-identifier">path</span> = <span class="ruby-node">"/#{bucket_name}"</span>
|
1485
|
+
311: <span class="ruby-identifier">path</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"/#{resource_key}"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">resource_key</span>.<span class="ruby-identifier">nil?</span>
|
1486
|
+
312: <span class="ruby-identifier">do_head</span>(<span class="ruby-identifier">path</span>).<span class="ruby-identifier">ok?</span>
|
1487
|
+
313: <span class="ruby-keyword kw">end</span>
|
1422
1488
|
</pre>
|
1423
1489
|
</div>
|
1424
1490
|
</div>
|
1425
1491
|
</div>
|
1426
1492
|
|
1427
|
-
<div id="method-
|
1428
|
-
<a name="
|
1493
|
+
<div id="method-M000132" class="method-detail">
|
1494
|
+
<a name="M000132"></a>
|
1429
1495
|
|
1430
1496
|
<div class="method-heading">
|
1431
|
-
<a href="#
|
1497
|
+
<a href="#M000132" class="method-signature">
|
1432
1498
|
<span class="method-name">set_acl</span><span class="method-args">(acl_doc, bucket_name, resource_key='')</span>
|
1433
1499
|
</a>
|
1434
1500
|
</div>
|
1435
1501
|
|
1436
1502
|
<div class="method-description">
|
1437
1503
|
<p>
|
1438
|
-
Put the ACL document
|
1504
|
+
Put the ACL document back to a resource.
|
1439
1505
|
</p>
|
1440
1506
|
<p>
|
1441
1507
|
<tt>acl_doc</tt> is an <a href="S3ACL/ACLDoc.html">S33r::S3ACL::ACLDoc</a>
|
@@ -1447,25 +1513,25 @@ Bad Request back, it means a CanonicalUser could not be identified from the
|
|
1447
1513
|
email address.
|
1448
1514
|
</p>
|
1449
1515
|
<p><a class="source-toggle" href="#"
|
1450
|
-
onclick="toggleCode('
|
1451
|
-
<div class="method-source-code" id="
|
1516
|
+
onclick="toggleCode('M000132-source');return false;">[Source]</a></p>
|
1517
|
+
<div class="method-source-code" id="M000132-source">
|
1452
1518
|
<pre>
|
1453
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
1454
|
-
|
1455
|
-
|
1456
|
-
|
1457
|
-
|
1458
|
-
|
1519
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 343</span>
|
1520
|
+
343: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_acl</span>(<span class="ruby-identifier">acl_doc</span>, <span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>=<span class="ruby-value str">''</span>)
|
1521
|
+
344: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">s3_acl_path</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>)
|
1522
|
+
345: <span class="ruby-identifier">response</span> = <span class="ruby-identifier">do_put</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">acl_doc</span>.<span class="ruby-identifier">to_xml</span>)
|
1523
|
+
346: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">ok?</span>
|
1524
|
+
347: <span class="ruby-keyword kw">end</span>
|
1459
1525
|
</pre>
|
1460
1526
|
</div>
|
1461
1527
|
</div>
|
1462
1528
|
</div>
|
1463
1529
|
|
1464
|
-
<div id="method-
|
1465
|
-
<a name="
|
1530
|
+
<div id="method-M000133" class="method-detail">
|
1531
|
+
<a name="M000133"></a>
|
1466
1532
|
|
1467
1533
|
<div class="method-heading">
|
1468
|
-
<a href="#
|
1534
|
+
<a href="#M000133" class="method-signature">
|
1469
1535
|
<span class="method-name">set_logging</span><span class="method-args">(logging_resource, bucket_name, resource_key='')</span>
|
1470
1536
|
</a>
|
1471
1537
|
</div>
|
@@ -1481,14 +1547,14 @@ href="LoggingResource.html">LoggingResource</a> instance.
|
|
1481
1547
|
to log (if empty, logging gets added to the bucket).
|
1482
1548
|
</p>
|
1483
1549
|
<p><a class="source-toggle" href="#"
|
1484
|
-
onclick="toggleCode('
|
1485
|
-
<div class="method-source-code" id="
|
1550
|
+
onclick="toggleCode('M000133-source');return false;">[Source]</a></p>
|
1551
|
+
<div class="method-source-code" id="M000133-source">
|
1486
1552
|
<pre>
|
1487
|
-
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line
|
1488
|
-
|
1489
|
-
|
1490
|
-
|
1491
|
-
|
1553
|
+
<span class="ruby-comment cmt"># File lib/s33r/client.rb, line 355</span>
|
1554
|
+
355: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_logging</span>(<span class="ruby-identifier">logging_resource</span>, <span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>=<span class="ruby-value str">''</span>)
|
1555
|
+
356: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">s3_logging_path</span>(<span class="ruby-identifier">bucket_name</span>, <span class="ruby-identifier">resource_key</span>)
|
1556
|
+
357: <span class="ruby-identifier">response</span> = <span class="ruby-identifier">do_put</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">logging_resource</span>.<span class="ruby-identifier">to_xml</span>)
|
1557
|
+
358: <span class="ruby-keyword kw">end</span>
|
1492
1558
|
</pre>
|
1493
1559
|
</div>
|
1494
1560
|
</div>
|