uber-s3 0.1.6 → 0.1.7
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/lib/uber-s3/connection/net_http.rb +14 -2
- data/lib/uber-s3/connection.rb +2 -2
- data/lib/uber-s3/version.rb +1 -1
- metadata +20 -10
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'net/http'
|
2
|
+
require 'net/http/persistent'
|
2
3
|
|
3
4
|
module UberS3::Connection
|
4
5
|
class NetHttp < Adapter
|
@@ -10,12 +11,23 @@ module UberS3::Connection
|
|
10
11
|
end
|
11
12
|
|
12
13
|
uri = URI.parse(url)
|
13
|
-
|
14
|
+
|
15
|
+
if persistent
|
16
|
+
http = Net::HTTP::Persistent.new("#{access_key}:#{client.bucket}")
|
17
|
+
else
|
18
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
19
|
+
end
|
14
20
|
|
15
21
|
req_klass = instance_eval("Net::HTTP::"+verb.to_s.capitalize)
|
16
22
|
req = req_klass.new(uri.to_s, headers)
|
23
|
+
|
24
|
+
req.body = body if !body.nil? && !body.empty?
|
17
25
|
|
18
|
-
|
26
|
+
if persistent
|
27
|
+
r = http.request(uri, req)
|
28
|
+
else
|
29
|
+
r = http.request(req)
|
30
|
+
end
|
19
31
|
|
20
32
|
# Auto-decode any gzipped objects
|
21
33
|
if verb == :get && r.header['content-encoding'] == 'gzip'
|
data/lib/uber-s3/connection.rb
CHANGED
@@ -23,7 +23,7 @@ class UberS3
|
|
23
23
|
self.client = client
|
24
24
|
self.access_key = options[:access_key]
|
25
25
|
self.secret_access_key = options[:secret_access_key]
|
26
|
-
self.persistent = options[:persistent]
|
26
|
+
self.persistent = (options[:persistent].nil? ? true : options[:persistent])
|
27
27
|
self.defaults = options[:defaults] || {}
|
28
28
|
end
|
29
29
|
|
@@ -36,7 +36,7 @@ class UberS3
|
|
36
36
|
# Default headers
|
37
37
|
headers['Date'] = Time.now.httpdate if !headers.keys.include?('Date')
|
38
38
|
headers['User-Agent'] ||= "UberS3 v#{UberS3::VERSION}"
|
39
|
-
|
39
|
+
headers['Connection'] = (persistent ? 'keep-alive' : 'close')
|
40
40
|
|
41
41
|
if body
|
42
42
|
headers['Content-Length'] ||= body.bytesize.to_s
|
data/lib/uber-s3/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uber-s3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-03-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mime-types
|
16
|
-
requirement: &
|
16
|
+
requirement: &70223953646180 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,21 @@ dependencies:
|
|
21
21
|
version: '1.17'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70223953646180
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: net-http-persistent
|
27
|
+
requirement: &70223953645120 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ~>
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '2.5'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70223953645120
|
25
36
|
- !ruby/object:Gem::Dependency
|
26
37
|
name: rake
|
27
|
-
requirement: &
|
38
|
+
requirement: &70223953644560 !ruby/object:Gem::Requirement
|
28
39
|
none: false
|
29
40
|
requirements:
|
30
41
|
- - ! '>='
|
@@ -32,10 +43,10 @@ dependencies:
|
|
32
43
|
version: '0'
|
33
44
|
type: :development
|
34
45
|
prerelease: false
|
35
|
-
version_requirements: *
|
46
|
+
version_requirements: *70223953644560
|
36
47
|
- !ruby/object:Gem::Dependency
|
37
48
|
name: rspec
|
38
|
-
requirement: &
|
49
|
+
requirement: &70223953643000 !ruby/object:Gem::Requirement
|
39
50
|
none: false
|
40
51
|
requirements:
|
41
52
|
- - ~>
|
@@ -43,7 +54,7 @@ dependencies:
|
|
43
54
|
version: 2.7.0
|
44
55
|
type: :development
|
45
56
|
prerelease: false
|
46
|
-
version_requirements: *
|
57
|
+
version_requirements: *70223953643000
|
47
58
|
description: A simple & very fast S3 client supporting sync / async HTTP adapters
|
48
59
|
email:
|
49
60
|
- peter@nulayer.com
|
@@ -93,9 +104,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
93
104
|
version: 1.3.6
|
94
105
|
requirements: []
|
95
106
|
rubyforge_project:
|
96
|
-
rubygems_version: 1.8.
|
107
|
+
rubygems_version: 1.8.17
|
97
108
|
signing_key:
|
98
109
|
specification_version: 3
|
99
110
|
summary: A simple & very fast S3 client supporting sync / async HTTP adapters
|
100
111
|
test_files: []
|
101
|
-
has_rdoc:
|