faraday-http 1.1.0 → 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: deb623077e3578b0b1bf572bdc10479b80f76b1a209d365c2206294540bcfdec
4
- data.tar.gz: 4d3d931f4798eee327f143c3974be250e1fb2277f1f69e8a465854156465c0de
3
+ metadata.gz: a05570eef6dd08482c54a0a61075c54d3d16be4593d74916455f0776b31363d3
4
+ data.tar.gz: 91b37ec14ae375e91dc93305b8f7ae5f8d143784458091617c53268e81dd3fa7
5
5
  SHA512:
6
- metadata.gz: 2b95008d821fee6a6d8ee3e796ac2f8a3f88b4d2e9281e61444a82146dc50023ec4a833e3ef6105a6af223aa934e232bfe7eecdf982e7a3770c102aa83b9cd73
7
- data.tar.gz: 0ed1e015da40254947843f437e07afeaedabc621f289b498955abf5fa378224eff907a781fd50d90e72d4238796265d616eb37593533d5c66df79f9e044f7a14
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
 
@@ -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.1.0'
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.1.0
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: 2021-10-12 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,14 +16,14 @@ 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
@@ -133,6 +133,7 @@ metadata:
133
133
  homepage_uri: https://github.com/lostisland/faraday-http
134
134
  source_code_uri: https://github.com/lostisland/faraday-http
135
135
  changelog_uri: https://github.com/lostisland/faraday-http/releases
136
+ rubygems_mfa_required: 'true'
136
137
  post_install_message:
137
138
  rdoc_options: []
138
139
  require_paths:
@@ -141,7 +142,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
141
142
  requirements:
142
143
  - - ">="
143
144
  - !ruby/object:Gem::Version
144
- version: '2.5'
145
+ version: '2.6'
145
146
  required_rubygems_version: !ruby/object:Gem::Requirement
146
147
  requirements:
147
148
  - - ">="