faraday-http 1.1.0 → 2.0.1

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: 1ee9c6b6b2e970f059954d9a5faca476cb6fc68509331d64c8a4c07600bf506a
4
+ data.tar.gz: ea70e044b17534562e97af62a2f42c048b85537c185b27e16073671446ff7ba2
5
5
  SHA512:
6
- metadata.gz: 2b95008d821fee6a6d8ee3e796ac2f8a3f88b4d2e9281e61444a82146dc50023ec4a833e3ef6105a6af223aa934e232bfe7eecdf982e7a3770c102aa83b9cd73
7
- data.tar.gz: 0ed1e015da40254947843f437e07afeaedabc621f289b498955abf5fa378224eff907a781fd50d90e72d4238796265d616eb37593533d5c66df79f9e044f7a14
6
+ metadata.gz: 6a6e551e5b3dd7aa0f3cb53a6c21a0694e27fe39ef2ce54e0d5497b306cb8a7c0beab47ba1844c9d3454022fd64ce0091a4e36f9c5bc45ee5d5172edf406f904
7
+ data.tar.gz: d9f8e7e27a2646e63b366fae79461e3a39a78eaf967b0326b2680853b90dfa85b1573981c3e326592309093da81f0614009263aac70ef6603a3bfe0f4a4522fa
@@ -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) || 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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Faraday
4
4
  module Http
5
- VERSION = '1.1.0'
5
+ VERSION = '2.0.1'
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.1
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: 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: '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
@@ -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.5'
75
+ version: '2.6'
145
76
  required_rubygems_version: !ruby/object:Gem::Requirement
146
77
  requirements:
147
78
  - - ">="