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.
@@ -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
- http = Net::HTTP.new(uri.host, uri.port)
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
- r = http.request(req, body)
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'
@@ -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] || true
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
- # headers['Connection'] = (persistent ? 'keep-alive' : 'close')
39
+ headers['Connection'] = (persistent ? 'keep-alive' : 'close')
40
40
 
41
41
  if body
42
42
  headers['Content-Length'] ||= body.bytesize.to_s
@@ -1,3 +1,3 @@
1
1
  class UberS3
2
- VERSION = '0.1.6'
2
+ VERSION = '0.1.7'
3
3
  end
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.6
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: 2011-11-11 00:00:00.000000000Z
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: &70136054186780 !ruby/object:Gem::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: *70136054186780
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: &70136054186160 !ruby/object:Gem::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: *70136054186160
46
+ version_requirements: *70223953644560
36
47
  - !ruby/object:Gem::Dependency
37
48
  name: rspec
38
- requirement: &70136054185000 !ruby/object:Gem::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: *70136054185000
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.11
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: