protip 0.32.1 → 0.32.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/protip/client.rb +19 -2
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9863ab9dc39e30868d91929bc16fe797ee205bde
4
- data.tar.gz: 37cc600fe0bf4c2c1ac5adcee29c677842d5aa28
3
+ metadata.gz: 0e1fbe6b7ee1d780392ae6ff7db663082ea2eb2b
4
+ data.tar.gz: 28855eb50758306090c18f4d571e4a26959fcbcb
5
5
  SHA512:
6
- metadata.gz: eefa3b33e375a4c1f1fa5964eb6b861de2f6ba98111326c329574991b7b03e9f30e1cc5401202459acd3707deca7bd15fb6560f9e530986b32db2e617b21ca52
7
- data.tar.gz: ad4d8302c311cb8f497f177940d4803f0592681b07f20aa5b9c9aab1edbba2e61901d2c3100f1238bfe578dfe96d9300df7e575c4704c2c4976e1d456048de77
6
+ metadata.gz: 33f8f0288db23882f142d42ba7a016c95f06c59bac2930b2252d84f8e4db176c4c614b76162959ba65cdc95cdfe6756a5dec3c4598861b1100c3046cab4d1f5e
7
+ data.tar.gz: 4be1f1959ba2dbdd030ee2fbc79b5e641299f10dc686d483f69a85da199985229f044d8e5738bb340c1a8eea8d30626ce01e269af39a36f1c5104a8d0b6d897e
@@ -1,7 +1,6 @@
1
1
  require 'active_support/concern'
2
2
  require 'protip/error'
3
3
  require 'net/http'
4
- require 'resolv-replace'
5
4
 
6
5
  module Protip
7
6
  module Client
@@ -70,9 +69,27 @@ module Protip
70
69
  # @param request [Net::HTTPGenericRequest] the raw request object to send
71
70
  # @return [Net::HTTPResponse] the response for the given request
72
71
  def execute_request(request)
72
+ http = nil
73
73
  uri = request.uri
74
- Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == 'https') do |http|
74
+ retries = 0
75
+ max_retries = 3
76
+
77
+ begin
78
+ unless http
79
+ http = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == 'https', read_timeout: 120)
80
+ end
75
81
  http.request request
82
+ rescue Net::OpenTimeout, Net::ReadTimeout
83
+ if (retries += 1) <= max_retries
84
+ sleep(retries)
85
+ retry
86
+ else
87
+ raise
88
+ end
89
+ ensure
90
+ if http
91
+ http.finish
92
+ end
76
93
  end
77
94
  end
78
95
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protip
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.32.1
4
+ version: 0.32.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - AngelList
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-06 00:00:00.000000000 Z
11
+ date: 2018-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel