thrift_rack 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3112a7bb184974829cabffede052e726282e26b6
4
- data.tar.gz: f465453942e1f42e97d056c93c094f66a751af42
3
+ metadata.gz: e0608ab993648edf5b74086cfef549cc0c344887
4
+ data.tar.gz: 4d58ef96f632a4c6ba0c2f1ae115071c1fb6383e
5
5
  SHA512:
6
- metadata.gz: 59862634376d053336d96e7d36c4af4286a7802764ebb638d90e5aaa0b0fb261e1fbdd78d9bfaf03335f377b9cb3d3a22d4951b0e1cedf5d56f63696c7c69d68
7
- data.tar.gz: eeaa115cc611531979398ff94ff098eba40e58aea256dde0e1f0707c7c88d345fb210fda06f8712aa10ba26f7fde2f6ad32a906e0d2af82d12d0e83e1c635d00
6
+ metadata.gz: a5d573b744625771cd92d9a25bddb6a00b5f9163dda955069c4635a37c1b5bdce00d15c642c7867eccd4bb047710e1a15ef27d36cc4f9309b0a9b6a9d2321ef5
7
+ data.tar.gz: 8c40f164b016decf4c0d0d90212929a0881824380bb68efbcbcba5775339377ccd2e53dc3050cd57b9b3526b9c269d7af3e6b32d401428e29d8e0a2c97a5fc09
data/Gemfile.lock CHANGED
@@ -2,26 +2,26 @@ PATH
2
2
  remote: .
3
3
  specs:
4
4
  thrift_rack (0.2.0)
5
+ net-http-persistent (>= 3.0)
6
+ openssl (>= 1.0)
5
7
  rack (>= 2.0)
6
8
  thrift (~> 0.10.0)
7
- typhoeus (> 1.1)
8
9
 
9
10
  GEM
10
11
  remote: https://rubygems.org/
11
12
  specs:
12
13
  coderay (1.1.2)
13
- ethon (0.11.0)
14
- ffi (>= 1.3.0)
15
- ffi (1.9.23)
14
+ connection_pool (2.2.1)
16
15
  method_source (0.9.0)
16
+ net-http-persistent (3.0.0)
17
+ connection_pool (~> 2.2)
18
+ openssl (2.1.0)
17
19
  pry (0.11.3)
18
20
  coderay (~> 1.1.0)
19
21
  method_source (~> 0.9.0)
20
22
  rack (2.0.5)
21
23
  rake (10.5.0)
22
24
  thrift (0.10.0.0)
23
- typhoeus (1.3.0)
24
- ethon (>= 0.9.0)
25
25
 
26
26
  PLATFORMS
27
27
  ruby
@@ -55,7 +55,14 @@ class ThriftRack
55
55
  end
56
56
 
57
57
  class << self
58
- attr_accessor :app_name
58
+ attr_accessor :app_name, :pool_size
59
+
60
+ def pool_size=(p)
61
+ http = Net::HTTP::Persistent.new(name: self.app_name, pool_size: p)
62
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
63
+ HttpClientTransport.default = http
64
+ @pool_size = p
65
+ end
59
66
  end
60
67
  end
61
68
  end
@@ -1,6 +1,7 @@
1
1
  require 'thrift'
2
2
  require "stringio"
3
- require 'typhoeus'
3
+ require 'net/http/persistent'
4
+ require 'openssl'
4
5
  class ThriftRack
5
6
  class HttpClientTransport < Thrift::BaseTransport
6
7
  class RespCodeError < StandardError; end
@@ -20,13 +21,28 @@ class ThriftRack
20
21
 
21
22
 
22
23
  def flush
23
- resp = Typhoeus.post(@url, body: @outbuf, headers: @headers, ssl_verifypeer: false)
24
+ uri = URI(@url)
25
+ post = Net::HTTP::Post.new uri.path
26
+ post.body = @outbuf
27
+ post.initialize_http_header(@headers)
28
+ resp = ThriftRack::HttpClientTransport.default.request(uri, post)
24
29
  data = resp.body
25
- raise RespCodeError.new("#{resp.code} on #{@url} with body #{data}") unless resp.code == 200
30
+ raise RespCodeError.new("#{resp.code} on #{@url} with body #{data}") unless resp.code.to_i == 200
26
31
  data = Thrift::Bytes.force_binary_encoding(data)
27
32
  @inbuf = StringIO.new data
28
33
  ensure
29
34
  @outbuf = Thrift::Bytes.empty_byte_buffer
30
35
  end
36
+
37
+ class << self
38
+ attr_accessor :default
39
+
40
+ def default
41
+ return @default if @default
42
+ @default = Net::HTTP::Persistent.new
43
+ @default.verify_mode = OpenSSL::SSL::VERIFY_NONE
44
+ @default
45
+ end
46
+ end
31
47
  end
32
48
  end
@@ -1,3 +1,3 @@
1
1
  class ThriftRack
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
data/thrift_rack.gemspec CHANGED
@@ -23,7 +23,8 @@ Gem::Specification.new do |spec|
23
23
 
24
24
  spec.add_dependency "rack", ">= 2.0"
25
25
  spec.add_dependency "thrift", '~> 0.10.0'
26
- spec.add_dependency 'typhoeus', '> 1.1'
26
+ spec.add_dependency 'net-http-persistent', ">= 3.0.0"
27
+ spec.add_dependency 'openssl', ">= 1.0.0"
27
28
 
28
29
  spec.add_development_dependency "bundler", "~> 1.16"
29
30
  spec.add_development_dependency "rake", "~> 10.0"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thrift_rack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - xuxiangyang
@@ -39,19 +39,33 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.10.0
41
41
  - !ruby/object:Gem::Dependency
42
- name: typhoeus
42
+ name: net-http-persistent
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '1.1'
47
+ version: 3.0.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">"
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 3.0.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: openssl
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 1.0.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
- version: '1.1'
68
+ version: 1.0.0
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: bundler
57
71
  requirement: !ruby/object:Gem::Requirement