faraday-http 1.1.0 → 2.0.1
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/lib/faraday/adapter/http.rb +34 -25
- data/lib/faraday/http/version.rb +1 -1
- metadata +6 -75
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1ee9c6b6b2e970f059954d9a5faca476cb6fc68509331d64c8a4c07600bf506a
|
|
4
|
+
data.tar.gz: ea70e044b17534562e97af62a2f42c048b85537c185b27e16073671446ff7ba2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6a6e551e5b3dd7aa0f3cb53a6c21a0694e27fe39ef2ce54e0d5497b306cb8a7c0beab47ba1844c9d3454022fd64ce0091a4e36f9c5bc45ee5d5172edf406f904
|
|
7
|
+
data.tar.gz: d9f8e7e27a2646e63b366fae79461e3a39a78eaf967b0326b2680853b90dfa85b1573981c3e326592309093da81f0614009263aac70ef6603a3bfe0f4a4522fa
|
data/lib/faraday/adapter/http.rb
CHANGED
|
@@ -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
|
-
|
|
23
|
+
connection = setup_connection(env)
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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,
|
|
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
|
|
|
@@ -97,27 +114,19 @@ module Faraday
|
|
|
97
114
|
end
|
|
98
115
|
|
|
99
116
|
def ssl_client_cert(cert)
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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) || cert.is_a?(OpenSSL::PKey::DSA)
|
|
128
|
+
|
|
129
|
+
raise Faraday::Error, "invalid ssl.client_key: #{cert.inspect}"
|
|
121
130
|
end
|
|
122
131
|
end
|
|
123
132
|
end
|
data/lib/faraday/http/version.rb
CHANGED
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:
|
|
4
|
+
version: 2.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- iMacTia
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-07-06 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: :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: '
|
|
26
|
+
version: '2.5'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: http
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -44,76 +44,6 @@ dependencies:
|
|
|
44
44
|
- - "<"
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
46
|
version: '6'
|
|
47
|
-
- !ruby/object:Gem::Dependency
|
|
48
|
-
name: bundler
|
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
|
50
|
-
requirements:
|
|
51
|
-
- - "~>"
|
|
52
|
-
- !ruby/object:Gem::Version
|
|
53
|
-
version: '2.0'
|
|
54
|
-
type: :development
|
|
55
|
-
prerelease: false
|
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
requirements:
|
|
58
|
-
- - "~>"
|
|
59
|
-
- !ruby/object:Gem::Version
|
|
60
|
-
version: '2.0'
|
|
61
|
-
- !ruby/object:Gem::Dependency
|
|
62
|
-
name: rake
|
|
63
|
-
requirement: !ruby/object:Gem::Requirement
|
|
64
|
-
requirements:
|
|
65
|
-
- - "~>"
|
|
66
|
-
- !ruby/object:Gem::Version
|
|
67
|
-
version: '13.0'
|
|
68
|
-
type: :development
|
|
69
|
-
prerelease: false
|
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
71
|
-
requirements:
|
|
72
|
-
- - "~>"
|
|
73
|
-
- !ruby/object:Gem::Version
|
|
74
|
-
version: '13.0'
|
|
75
|
-
- !ruby/object:Gem::Dependency
|
|
76
|
-
name: rspec
|
|
77
|
-
requirement: !ruby/object:Gem::Requirement
|
|
78
|
-
requirements:
|
|
79
|
-
- - "~>"
|
|
80
|
-
- !ruby/object:Gem::Version
|
|
81
|
-
version: '3.0'
|
|
82
|
-
type: :development
|
|
83
|
-
prerelease: false
|
|
84
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
85
|
-
requirements:
|
|
86
|
-
- - "~>"
|
|
87
|
-
- !ruby/object:Gem::Version
|
|
88
|
-
version: '3.0'
|
|
89
|
-
- !ruby/object:Gem::Dependency
|
|
90
|
-
name: simplecov
|
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
|
92
|
-
requirements:
|
|
93
|
-
- - ">="
|
|
94
|
-
- !ruby/object:Gem::Version
|
|
95
|
-
version: '0'
|
|
96
|
-
type: :development
|
|
97
|
-
prerelease: false
|
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
99
|
-
requirements:
|
|
100
|
-
- - ">="
|
|
101
|
-
- !ruby/object:Gem::Version
|
|
102
|
-
version: '0'
|
|
103
|
-
- !ruby/object:Gem::Dependency
|
|
104
|
-
name: webmock
|
|
105
|
-
requirement: !ruby/object:Gem::Requirement
|
|
106
|
-
requirements:
|
|
107
|
-
- - "~>"
|
|
108
|
-
- !ruby/object:Gem::Version
|
|
109
|
-
version: '3.4'
|
|
110
|
-
type: :development
|
|
111
|
-
prerelease: false
|
|
112
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
113
|
-
requirements:
|
|
114
|
-
- - "~>"
|
|
115
|
-
- !ruby/object:Gem::Version
|
|
116
|
-
version: '3.4'
|
|
117
47
|
description: Faraday Adapter for HTTP.rb
|
|
118
48
|
email:
|
|
119
49
|
- giuffrida.mattia@gmail.com
|
|
@@ -133,6 +63,7 @@ metadata:
|
|
|
133
63
|
homepage_uri: https://github.com/lostisland/faraday-http
|
|
134
64
|
source_code_uri: https://github.com/lostisland/faraday-http
|
|
135
65
|
changelog_uri: https://github.com/lostisland/faraday-http/releases
|
|
66
|
+
rubygems_mfa_required: 'true'
|
|
136
67
|
post_install_message:
|
|
137
68
|
rdoc_options: []
|
|
138
69
|
require_paths:
|
|
@@ -141,7 +72,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
141
72
|
requirements:
|
|
142
73
|
- - ">="
|
|
143
74
|
- !ruby/object:Gem::Version
|
|
144
|
-
version: '2.
|
|
75
|
+
version: '2.6'
|
|
145
76
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
146
77
|
requirements:
|
|
147
78
|
- - ">="
|