faraday-net_http 3.0.2 → 3.4.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9cad2197cf7df07a668741fb5ae27309b6f7aee396b207268ba63076569ae59f
4
- data.tar.gz: 47fbe72a4c70f85b5659376f0a758088d26c8a6f2901a8320a22bfba872e2c1f
3
+ metadata.gz: 737599a223dbac248cbbbbd9135fb6435b9fe3b340549b87c9e5176ce066e3fd
4
+ data.tar.gz: 5d7e885ac59d063f49a7fb999f1cf86ebd66aa1c0c76a5d0273bdd4992b72eb6
5
5
  SHA512:
6
- metadata.gz: 7b6cb45789018beedcef079c136c213e6532aba87d2503bd6f1544cf30f3ab3cdda9c08e4164d0f93a056595622cdf9c8f125e19798f8147e3e52f1387c5c800
7
- data.tar.gz: 66131665eb559ad8b1bbba18c12916c3ace677b93a6055269c7def945dced9021f2864df22d9326880a8379602e0ac78fd44f49c137217e05978fa7377cedb3d
6
+ metadata.gz: 413aabd776695183fa818a0c022e8e2b450724bcfb6b0255e1a9240ef321d3d7f58e3988c68110a669234c830a2ac2f2a1ce04ad5d1fb2afde9b23998a183e82
7
+ data.tar.gz: 5931da595d755e6c86b71387335231201706391cf6faed61d46c2ddeb2667090d6fc397d9918d82079d5db8dd125c55e760a8ae393cc9771f2408435065df8fb
@@ -42,8 +42,7 @@ module Faraday
42
42
 
43
43
  def build_connection(env)
44
44
  net_http_connection(env).tap do |http|
45
- http.use_ssl = env[:url].scheme == 'https' if http.respond_to?(:use_ssl=)
46
- configure_ssl(http, env[:ssl])
45
+ configure_ssl(http, env[:ssl]) if env[:url].scheme == 'https' && env[:ssl]
47
46
  configure_request(http, env[:request])
48
47
  end
49
48
  end
@@ -54,7 +53,8 @@ module Faraday
54
53
  if proxy
55
54
  Net::HTTP.new(env[:url].hostname, port,
56
55
  proxy[:uri].hostname, proxy[:uri].port,
57
- proxy[:user], proxy[:password])
56
+ proxy[:user], proxy[:password],
57
+ nil, proxy[:uri].scheme == 'https')
58
58
  else
59
59
  Net::HTTP.new(env[:url].hostname, port, nil)
60
60
  end
@@ -106,18 +106,14 @@ module Faraday
106
106
  http_response
107
107
  end
108
108
 
109
- def request_with_wrapped_block(http, env)
109
+ def request_with_wrapped_block(http, env, &block)
110
110
  # Must use Net::HTTP#start and pass it a block otherwise the server's
111
111
  # TCP socket does not close correctly.
112
112
  http.start do |opened_http|
113
113
  opened_http.request create_request(env) do |response|
114
114
  save_http_response(env, response)
115
115
 
116
- if block_given?
117
- response.read_body do |chunk|
118
- yield(chunk)
119
- end
120
- end
116
+ response.read_body(&block) if block_given?
121
117
  end
122
118
  end
123
119
  end
@@ -133,12 +129,15 @@ module Faraday
133
129
  end
134
130
 
135
131
  def configure_ssl(http, ssl)
136
- return unless ssl
132
+ http.use_ssl = true if http.respond_to?(:use_ssl=)
137
133
 
138
134
  http.verify_mode = ssl_verify_mode(ssl)
139
135
  http.cert_store = ssl_cert_store(ssl)
140
136
 
141
- http.cert = ssl[:client_cert] if ssl[:client_cert]
137
+ cert, *extra_chain_cert = ssl[:client_cert]
138
+ http.cert = cert if cert
139
+ http.extra_chain_cert = extra_chain_cert if extra_chain_cert.any?
140
+
142
141
  http.key = ssl[:client_key] if ssl[:client_key]
143
142
  http.ca_file = ssl[:ca_file] if ssl[:ca_file]
144
143
  http.ca_path = ssl[:ca_path] if ssl[:ca_path]
@@ -147,6 +146,7 @@ module Faraday
147
146
  http.min_version = ssl[:min_version] if ssl[:min_version]
148
147
  http.max_version = ssl[:max_version] if ssl[:max_version]
149
148
  http.verify_hostname = ssl[:verify_hostname] if verify_hostname_enabled?(http, ssl)
149
+ http.ciphers = ssl[:ciphers] if ssl[:ciphers]
150
150
  end
151
151
 
152
152
  def configure_request(http, req)
@@ -172,20 +172,18 @@ module Faraday
172
172
  def ssl_cert_store(ssl)
173
173
  return ssl[:cert_store] if ssl[:cert_store]
174
174
 
175
- @ssl_cert_store ||= begin
176
- # Use the default cert store by default, i.e. system ca certs
177
- OpenSSL::X509::Store.new.tap(&:set_default_paths)
178
- end
175
+ # Use the default cert store by default, i.e. system ca certs
176
+ @ssl_cert_store ||= OpenSSL::X509::Store.new.tap(&:set_default_paths)
179
177
  end
180
178
 
181
179
  def ssl_verify_mode(ssl)
182
180
  ssl[:verify_mode] || begin
183
- if ssl.fetch(:verify, true)
184
- OpenSSL::SSL::VERIFY_PEER
185
- else
186
- OpenSSL::SSL::VERIFY_NONE
187
- end
188
- end
181
+ if ssl.fetch(:verify, true)
182
+ OpenSSL::SSL::VERIFY_PEER
183
+ else
184
+ OpenSSL::SSL::VERIFY_NONE
185
+ end
186
+ end
189
187
  end
190
188
 
191
189
  def encoded_body(http_response)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Faraday
4
4
  module NetHttp
5
- VERSION = '3.0.2'
5
+ VERSION = '3.4.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faraday-net_http
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 3.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan van der Pas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-11 00:00:00.000000000 Z
11
+ date: 2024-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: faraday
14
+ name: net-http
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '2.5'
20
- type: :development
19
+ version: 0.5.0
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: '2.5'
26
+ version: 0.5.0
27
27
  description: Faraday adapter for Net::HTTP
28
28
  email:
29
29
  - janvanderpas@gmail.com
@@ -42,7 +42,8 @@ licenses:
42
42
  metadata:
43
43
  homepage_uri: https://github.com/lostisland/faraday-net_http
44
44
  source_code_uri: https://github.com/lostisland/faraday-net_http
45
- changelog_uri: https://github.com/lostisland/faraday-net_http/releases/tag/v3.0.2
45
+ changelog_uri: https://github.com/lostisland/faraday-net_http/releases/tag/v3.4.0
46
+ rubygems_mfa_required: 'true'
46
47
  post_install_message:
47
48
  rdoc_options: []
48
49
  require_paths:
@@ -51,14 +52,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
51
52
  requirements:
52
53
  - - ">="
53
54
  - !ruby/object:Gem::Version
54
- version: 2.6.0
55
+ version: 3.0.0
55
56
  required_rubygems_version: !ruby/object:Gem::Requirement
56
57
  requirements:
57
58
  - - ">="
58
59
  - !ruby/object:Gem::Version
59
60
  version: '0'
60
61
  requirements: []
61
- rubygems_version: 3.1.6
62
+ rubygems_version: 3.5.11
62
63
  signing_key:
63
64
  specification_version: 4
64
65
  summary: Faraday adapter for Net::HTTP