faraday-http 1.0.1 → 2.0.0

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
  SHA256:
3
- metadata.gz: b5e6240a5e8de3e53c1a4c576a5cb97e8c06bbcdfa075e4e886ba714fcd1b238
4
- data.tar.gz: 21b2432ff123359ba3c75e419240f99126edf36336053abc640e2baa61c6db58
3
+ metadata.gz: a05570eef6dd08482c54a0a61075c54d3d16be4593d74916455f0776b31363d3
4
+ data.tar.gz: 91b37ec14ae375e91dc93305b8f7ae5f8d143784458091617c53268e81dd3fa7
5
5
  SHA512:
6
- metadata.gz: 7429a9e7a37252dd63ec86d5d8a994423ede3f4445b574f9a820eaa61736cadd2858e55d7348937719572f9719bb2106a3eb936cd1e8525dae5dc106623a4dd9
7
- data.tar.gz: '088bbb6b273377487a279413fbd0281246d2d0f2e992d24c438314715a25290f3fd0b1f4b0e22c31909845895fc255df9adfed4f23f89cd75cedd764fbeb0ccd'
6
+ metadata.gz: e44331b34e0bb87f3232dfdab12aaa592df0cb3ec2498012b8a16fdc4dae28d06c7ce370e23de3e33a75591ce70875a2b70a217aa133c35a9313e82b9199764b
7
+ data.tar.gz: 18824e03bebea59b963c754210f5fc3e4904e44e07b0c9106987f383c4af4a87305e3562cea5ebdef015e0a368248bad3585d0ed3499139025c7f8c17f0b6ae6
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'http'
4
+
3
5
  module Faraday
4
6
  class Adapter
5
7
  # HTTP.rb adapter.
6
8
  class HTTP < Faraday::Adapter
7
- dependency 'http'
8
-
9
9
  # Takes the environment and performs the request.
10
10
  #
11
11
  # @param env [Faraday::Env] the request environment.
@@ -20,13 +20,22 @@ module Faraday
20
20
  private
21
21
 
22
22
  def perform_request(env)
23
- conn = setup_connection(env)
23
+ connection = setup_connection(env)
24
24
 
25
- resp = conn.request env[:method], env[:url],
26
- body: env[:body],
27
- ssl_context: ssl_context(env[:ssl])
25
+ response = connection.request env[:method], env[:url],
26
+ body: env[:body],
27
+ ssl_context: ssl_context(env[:ssl])
28
+
29
+ if env.stream_response?
30
+ env.stream_response do |&on_data|
31
+ request_with_wrapped_block(response, env, &on_data)
32
+ end
33
+ body = ''
34
+ else
35
+ body = response.body.to_s
36
+ end
28
37
 
29
- save_response(env, resp.code, resp.body.to_s, resp.headers, resp.status.reason)
38
+ save_response(env, response.code, body, response.headers, response.status.reason)
30
39
  rescue ::HTTP::TimeoutError
31
40
  raise Faraday::TimeoutError, $ERROR_INFO
32
41
  rescue ::HTTP::ConnectionError
@@ -37,6 +46,14 @@ module Faraday
37
46
  raise
38
47
  end
39
48
 
49
+ def request_with_wrapped_block(response, env)
50
+ return unless block_given?
51
+
52
+ while (chunk = response.body.readpartial)
53
+ yield(chunk, env)
54
+ end
55
+ end
56
+
40
57
  def setup_connection(env)
41
58
  conn = ::HTTP
42
59
 
@@ -46,7 +63,7 @@ module Faraday
46
63
 
47
64
  def request_config(conn, config)
48
65
  if (timeout = config[:timeout])
49
- conn = conn.timeout(connect: timeout, read: timeout, write: timeout)
66
+ conn = conn.timeout(timeout)
50
67
  end
51
68
 
52
69
  if (timeout = config[:open_timeout])
@@ -97,27 +114,19 @@ module Faraday
97
114
  end
98
115
 
99
116
  def ssl_client_cert(cert)
100
- case cert
101
- when NilClass then nil
102
- when String
103
- OpenSSL::X509::Certificate.new(File.read(cert))
104
- when OpenSSL::X509::Certificate
105
- cert
106
- else
107
- raise Faraday::Error, "invalid ssl.client_cert: #{cert.inspect}"
108
- end
117
+ return nil if cert.nil?
118
+ return OpenSSL::X509::Certificate.new(File.read(cert)) if cert.is_a(String)
119
+ return cert if cert.is_a?(OpenSSL::X509::Certificate)
120
+
121
+ raise Faraday::Error, "invalid ssl.client_cert: #{cert.inspect}"
109
122
  end
110
123
 
111
124
  def ssl_client_key(cert)
112
- case cert
113
- when NilClass then nil
114
- when String
115
- OpenSSL::PKey::RSA.new(File.read(cert))
116
- when OpenSSL::PKey::RSA, OpenSSL::PKey::DSA
117
- cert
118
- else
119
- raise Faraday::Error, "invalid ssl.client_key: #{cert.inspect}"
120
- end
125
+ return nil if cert.nil?
126
+ return OpenSSL::PKey::RSA.new(File.read(cert)) if cert.is_a(String)
127
+ return cert if cert.is_a?(OpenSSL::PKey::RSA, OpenSSL::PKey::DSA)
128
+
129
+ raise Faraday::Error, "invalid ssl.client_key: #{cert.inspect}"
121
130
  end
122
131
  end
123
132
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Faraday
4
4
  module Http
5
- VERSION = '1.0.1'
5
+ VERSION = '2.0.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faraday-http
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - iMacTia
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-30 00:00:00.000000000 Z
11
+ date: 2022-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,28 +16,34 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: '2.5'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.0'
26
+ version: '2.5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: http
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '4.0'
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: '6'
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
- - - "~>"
41
+ - - ">="
39
42
  - !ruby/object:Gem::Version
40
43
  version: '4.0'
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: '6'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: bundler
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -127,6 +133,7 @@ metadata:
127
133
  homepage_uri: https://github.com/lostisland/faraday-http
128
134
  source_code_uri: https://github.com/lostisland/faraday-http
129
135
  changelog_uri: https://github.com/lostisland/faraday-http/releases
136
+ rubygems_mfa_required: 'true'
130
137
  post_install_message:
131
138
  rdoc_options: []
132
139
  require_paths:
@@ -135,14 +142,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
135
142
  requirements:
136
143
  - - ">="
137
144
  - !ruby/object:Gem::Version
138
- version: '2.5'
145
+ version: '2.6'
139
146
  required_rubygems_version: !ruby/object:Gem::Requirement
140
147
  requirements:
141
148
  - - ">="
142
149
  - !ruby/object:Gem::Version
143
150
  version: '0'
144
151
  requirements: []
145
- rubygems_version: 3.1.2
152
+ rubygems_version: 3.1.6
146
153
  signing_key:
147
154
  specification_version: 4
148
155
  summary: Faraday Adapter for HTTP.rb