faraday-net_http 2.0.2 → 3.0.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 +4 -4
- data/README.md +0 -1
- data/lib/faraday/adapter/net_http.rb +30 -45
- data/lib/faraday/net_http/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4efc5a5f90fde405f695b602850c1060a683bc2ae350f8244637895cf414a7b1
|
4
|
+
data.tar.gz: b24f51c181e5dfda23f6687347b012cbfd3d225f9c9a4310ea5b69c8277c2f3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 828b85c9ec2c8d81f48749802a572af232574a124b16d245e903ecba162327a8b7107a046ea1f136105e6aa382a612efda5afb9dd49442d73b8f4884875f3a3e
|
7
|
+
data.tar.gz: d4cac854ff1631ee53acadf70efb2fa29608c4454e3b6a87b291c45152761cbe5ab99b98d929cc95256498631a456e677ac43be3b400b74a7a315bdedf0c9001
|
data/README.md
CHANGED
@@ -15,6 +15,7 @@ module Faraday
|
|
15
15
|
exceptions = [
|
16
16
|
IOError,
|
17
17
|
Errno::EADDRNOTAVAIL,
|
18
|
+
Errno::EALREADY,
|
18
19
|
Errno::ECONNABORTED,
|
19
20
|
Errno::ECONNREFUSED,
|
20
21
|
Errno::ECONNRESET,
|
@@ -61,22 +62,13 @@ module Faraday
|
|
61
62
|
|
62
63
|
def call(env)
|
63
64
|
super
|
64
|
-
|
65
|
+
connection(env) do |http|
|
65
66
|
perform_request(http, env)
|
66
67
|
rescue *NET_HTTP_EXCEPTIONS => e
|
67
68
|
raise Faraday::SSLError, e if defined?(OpenSSL) && e.is_a?(OpenSSL::SSL::SSLError)
|
68
69
|
|
69
70
|
raise Faraday::ConnectionFailed, e
|
70
71
|
end
|
71
|
-
|
72
|
-
save_response(env, http_response.code.to_i,
|
73
|
-
encoded_body(http_response), nil,
|
74
|
-
http_response.message) do |response_headers|
|
75
|
-
http_response.each_header do |key, value|
|
76
|
-
response_headers[key] = value
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
72
|
@app.call env
|
81
73
|
rescue Timeout::Error, Errno::ETIMEDOUT => e
|
82
74
|
raise Faraday::TimeoutError, e
|
@@ -101,53 +93,41 @@ module Faraday
|
|
101
93
|
end
|
102
94
|
|
103
95
|
def perform_request(http, env)
|
104
|
-
if env
|
105
|
-
|
106
|
-
|
107
|
-
http_response = request_with_wrapped_block(http, env) do |chunk|
|
108
|
-
if chunk.bytesize.positive? || size.positive?
|
109
|
-
yielded = true
|
110
|
-
size += chunk.bytesize
|
111
|
-
env[:request].on_data.call(chunk, size)
|
112
|
-
end
|
96
|
+
if env.stream_response?
|
97
|
+
http_response = env.stream_response do |&on_data|
|
98
|
+
request_with_wrapped_block(http, env, &on_data)
|
113
99
|
end
|
114
|
-
env[:request].on_data.call(+'', 0) unless yielded
|
115
|
-
# Net::HTTP returns something,
|
116
|
-
# but it's not meaningful according to the docs.
|
117
100
|
http_response.body = nil
|
118
|
-
http_response
|
119
|
-
else
|
120
|
-
request_with_wrapped_block(http, env)
|
121
|
-
end
|
122
|
-
end
|
123
|
-
|
124
|
-
def request_with_wrapped_block(http, env, &block)
|
125
|
-
if (env[:method] == :get) && !env[:body]
|
126
|
-
# prefer `get` to `request` because the former handles gzip (ruby 1.9)
|
127
|
-
request_via_get_method(http, env, &block)
|
128
101
|
else
|
129
|
-
|
102
|
+
http_response = request_with_wrapped_block(http, env)
|
130
103
|
end
|
104
|
+
env.response_body = encoded_body(http_response)
|
105
|
+
env.response.finish(env)
|
106
|
+
http_response
|
131
107
|
end
|
132
108
|
|
133
|
-
def
|
109
|
+
def request_with_wrapped_block(http, env)
|
134
110
|
# Must use Net::HTTP#start and pass it a block otherwise the server's
|
135
111
|
# TCP socket does not close correctly.
|
136
112
|
http.start do |opened_http|
|
137
|
-
opened_http.
|
113
|
+
opened_http.request create_request(env) do |response|
|
114
|
+
save_http_response(env, response)
|
115
|
+
|
116
|
+
if block_given?
|
117
|
+
response.read_body do |chunk|
|
118
|
+
yield(chunk)
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
138
122
|
end
|
139
123
|
end
|
140
124
|
|
141
|
-
def
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
response.read_body(&block)
|
148
|
-
end
|
149
|
-
else
|
150
|
-
opened_http.request create_request(env)
|
125
|
+
def save_http_response(env, http_response)
|
126
|
+
save_response(
|
127
|
+
env, http_response.code.to_i, nil, nil, http_response.message, finished: false
|
128
|
+
) do |response_headers|
|
129
|
+
http_response.each_header do |key, value|
|
130
|
+
response_headers[key] = value
|
151
131
|
end
|
152
132
|
end
|
153
133
|
end
|
@@ -166,6 +146,7 @@ module Faraday
|
|
166
146
|
http.ssl_version = ssl[:version] if ssl[:version]
|
167
147
|
http.min_version = ssl[:min_version] if ssl[:min_version]
|
168
148
|
http.max_version = ssl[:max_version] if ssl[:max_version]
|
149
|
+
http.verify_hostname = ssl[:verify_hostname] if verify_hostname_enabled?(http, ssl)
|
169
150
|
end
|
170
151
|
|
171
152
|
def configure_request(http, req)
|
@@ -218,6 +199,10 @@ module Faraday
|
|
218
199
|
end
|
219
200
|
body
|
220
201
|
end
|
202
|
+
|
203
|
+
def verify_hostname_enabled?(http, ssl)
|
204
|
+
http.respond_to?(:verify_hostname=) && ssl.key?(:verify_hostname)
|
205
|
+
end
|
221
206
|
end
|
222
207
|
end
|
223
208
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: faraday-net_http
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.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
|
+
date: 2022-08-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.5'
|
20
20
|
type: :development
|
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: '
|
26
|
+
version: '2.5'
|
27
27
|
description: Faraday adapter for Net::HTTP
|
28
28
|
email:
|
29
29
|
- janvanderpas@gmail.com
|
@@ -42,7 +42,7 @@ 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/
|
45
|
+
changelog_uri: https://github.com/lostisland/faraday-net_http/releases/tag/v3.0.0
|
46
46
|
post_install_message:
|
47
47
|
rdoc_options: []
|
48
48
|
require_paths:
|
@@ -51,7 +51,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 2.
|
54
|
+
version: 2.6.0
|
55
55
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
57
|
- - ">="
|