ruby-manta 2.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +23 -3
- data/lib/ruby-manta/manta_client.rb +14 -0
- data/lib/ruby-manta/version.rb +1 -1
- data/test/unit/manta_client_test.rb +3 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de7bfde003051167ceb812eeeee748fe405107ef
|
4
|
+
data.tar.gz: fa140f03d2becadedd4e1837a4cde82be2d5f937
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 997933f4865d0b6241fde0506319a08945cd15db8c4407e57b6609969f90d60e833d304873c37101e35f7852d58a578a0045cbc79eb16297ba72f3bb748a556b
|
7
|
+
data.tar.gz: 7aafc92abb2b0e3ac969bfe05242f2cca4ed99f6e8c8de50ecf7165ed451af068a357cb3b1a87bec5dbe8b422377cea150e87b6c62f6157d045e139535493bfc
|
data/README.md
CHANGED
@@ -169,9 +169,9 @@ supports it either.
|
|
169
169
|
|
170
170
|
Changes in 2.0.0
|
171
171
|
----------------
|
172
|
-
* MantaClient was moved into the namespace RubyManta::MantaClient.
|
173
|
-
with the namespaceless 1.0.0 MantaClient was maintained, but it
|
174
|
-
there in the future, so please update your application code.
|
172
|
+
* MantaClient was moved into the namespace RubyManta::MantaClient.
|
173
|
+
Compatibility with the namespaceless 1.0.0 MantaClient was maintained, but it
|
174
|
+
may not be there in the future, so please update your application code.
|
175
175
|
* Subuser support was added to the client.
|
176
176
|
|
177
177
|
|
@@ -328,6 +328,26 @@ You can also pass in :origin to most object- and directory-related methods.
|
|
328
328
|
|
329
329
|
|
330
330
|
|
331
|
+
Custom headers
|
332
|
+
--------------
|
333
|
+
|
334
|
+
Manta allows additional custom headers to be
|
335
|
+
[added with an object](https://apidocs.joyent.com/manta/storage-reference.html#custom-headers).
|
336
|
+
When the object is retrieved, the custom headers are returned as well.
|
337
|
+
|
338
|
+
ruby-manta supports this, by adding any :m_* arguments as headers to an object.
|
339
|
+
For example, to add an 'M-Foobar' header with an object:
|
340
|
+
|
341
|
+
```ruby
|
342
|
+
|
343
|
+
client.put_object(/john/stor/passwd', 'weak', :m_foobar => 'baz')
|
344
|
+
```
|
345
|
+
|
346
|
+
A reminder when reading back headers (e.g. using get_object()) that header names
|
347
|
+
are case-insensitive (see RFC 2616). 'M-Foobar' may return as 'm-foobar'.
|
348
|
+
|
349
|
+
|
350
|
+
|
331
351
|
initialize(manta_host, user, priv_key, _options_)
|
332
352
|
-------------------------------------------------
|
333
353
|
|
@@ -850,6 +850,13 @@ module RubyManta
|
|
850
850
|
|
851
851
|
|
852
852
|
|
853
|
+
# :m_some_header becomes "M-Some-Header"
|
854
|
+
def symbol_to_header(header_symbol)
|
855
|
+
header_symbol.to_s.split('_').map(&:capitalize).join('-')
|
856
|
+
end
|
857
|
+
|
858
|
+
|
859
|
+
|
853
860
|
# Creates headers to be given to the HTTP client and sent to the Manta
|
854
861
|
# service. The most important is the Authorization header, without which
|
855
862
|
# none of this class would work.
|
@@ -889,6 +896,13 @@ module RubyManta
|
|
889
896
|
headers.push([ 'Origin', origin ])
|
890
897
|
end
|
891
898
|
|
899
|
+
custom_headers = opts.keys.select { |key| key.to_s.start_with? 'm_' }
|
900
|
+
unless custom_headers.empty?
|
901
|
+
headers += custom_headers.map do |header_key|
|
902
|
+
[ symbol_to_header(header_key), opts[header_key] ]
|
903
|
+
end
|
904
|
+
end
|
905
|
+
|
892
906
|
# add md5 hash when sending data
|
893
907
|
data = opts[:data]
|
894
908
|
if data
|
data/lib/ruby-manta/version.rb
CHANGED
@@ -207,11 +207,13 @@ class TestMantaClient < Minitest::Test
|
|
207
207
|
|
208
208
|
@@client.put_object(@@test_dir_path + '/obj1', 'bar-data',
|
209
209
|
:content_type => 'application/wacky',
|
210
|
-
:durability_level => 3
|
210
|
+
:durability_level => 3,
|
211
|
+
:m_zip => 'zap')
|
211
212
|
|
212
213
|
result, headers = @@client.get_object(@@test_dir_path + '/obj1')
|
213
214
|
assert_equal result, 'bar-data'
|
214
215
|
assert_equal headers['Content-Type'], 'application/wacky'
|
216
|
+
assert_equal headers['m-zip'], 'zap'
|
215
217
|
|
216
218
|
result, headers = @@client.get_object(@@test_dir_path + '/obj1', :head => true)
|
217
219
|
assert_equal result, true
|