protip 0.32.1 → 0.32.2

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.
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