async-http-faraday 0.12.0 → 0.13.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: bb8d8e1aa9d79153243004581a6e6c7c68591a87856944f99ab383787b873999
4
- data.tar.gz: 975a58648df70b91f5d2c8bb3073bc1bb6f86ecebdf155a2c87132d7dacace18
3
+ metadata.gz: ab350ea82e4b97a4a08fa814825287e4ce92d327ce936d76fb15285b8eab39b3
4
+ data.tar.gz: '0651593c2937bddd8ebece312db4d4688111bc7029f61c71da814bd5866e3a5d'
5
5
  SHA512:
6
- metadata.gz: ec5ffb04ddb5457593b11d188aacf7572b32dcf40d6c355f8e5f62103d576af91461409355a745d948f5ac0973b52b0782d64f61eef173f116315083a37eee82
7
- data.tar.gz: 2ddd238bfaf76167a2c95b233482c909fee7f280170d93b87569ab8c284d2c61e211e4d2c2eb6fad35a682af6d9428ae432a1aa6713a6250c5f09d0ea98af8db
6
+ metadata.gz: bff7ca5a8e0c5305e6d9fb75975fad4e5db34cc45546d37f5fdd4390148e7a310795d1bfe87ba164fc5d6149c3bb1df45c7b364ed2111f833d2954ae7045a5b3
7
+ data.tar.gz: ad8f7440d7760644437cff607b08c614bd6f2bd0c8ae02f6fdbb8f12c8ff5b9b5641ffa5fca69b5417e3902b0a28badd7eead77d20658e5b5fceb395d97883c7
checksums.yaml.gz.sig CHANGED
Binary file
data/examples/topics.rb CHANGED
@@ -2,7 +2,7 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  # Released under the MIT License.
5
- # Copyright, 2020, by Samuel Williams.
5
+ # Copyright, 2020-2024, by Samuel Williams.
6
6
 
7
7
  $LOAD_PATH.unshift File.expand_path("../lib", __dir__)
8
8
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2018-2021, by Samuel Williams.
4
+ # Copyright, 2018-2024, by Samuel Williams.
5
5
  # Copyright, 2018, by Andreas Garnaes.
6
6
  # Copyright, 2019, by Denis Talakevich.
7
7
  # Copyright, 2019-2020, by Igor Sidorov.
@@ -18,6 +18,23 @@ require 'async/http/proxy'
18
18
  module Async
19
19
  module HTTP
20
20
  module Faraday
21
+ class BodyReadWrapper < ::Protocol::HTTP::Body::Readable
22
+ def initialize(body, block_size: 4096)
23
+ @body = body
24
+ @block_size = block_size
25
+ end
26
+
27
+ def close(error = nil)
28
+ @body.close if @body.respond_to?(:close)
29
+ ensure
30
+ super
31
+ end
32
+
33
+ def read
34
+ @body.read(@block_size)
35
+ end
36
+ end
37
+
21
38
  class Adapter < ::Faraday::Adapter
22
39
  CONNECTION_EXCEPTIONS = [
23
40
  Errno::EADDRNOTAVAIL,
@@ -85,6 +102,9 @@ module Async
85
102
  def call(env)
86
103
  super
87
104
 
105
+ # for compatibility with the default adapter
106
+ env.url.path = '/' if env.url.path.empty?
107
+
88
108
  Sync do
89
109
  endpoint = Endpoint.new(env.url)
90
110
 
@@ -96,7 +116,13 @@ module Async
96
116
  end
97
117
 
98
118
  if body = env.body
99
- body = Body::Buffered.wrap(body)
119
+ # We need to wrap the body in a Readable object so that it can be read in chunks:
120
+ # Faraday's body only responds to `#read`.
121
+ if body.respond_to?(:read)
122
+ body = BodyReadWrapper.new(body)
123
+ else
124
+ body = ::Protocol::HTTP::Body::Buffered.wrap(body)
125
+ end
100
126
  end
101
127
 
102
128
  if headers = env.request_headers
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2020, by Samuel Williams.
4
+ # Copyright, 2020-2024, by Samuel Williams.
5
5
 
6
6
  require_relative 'adapter'
7
7
 
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2018-2021, by Samuel Williams.
4
+ # Copyright, 2018-2024, by Samuel Williams.
5
5
 
6
6
  module Async
7
7
  module HTTP
8
8
  module Faraday
9
- VERSION = "0.12.0"
9
+ VERSION = "0.13.1"
10
10
  end
11
11
  end
12
12
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2018-2020, by Samuel Williams.
4
+ # Copyright, 2018-2024, by Samuel Williams.
5
5
 
6
6
  require_relative "faraday/version"
7
7
  require_relative "faraday/adapter"
data/license.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # MIT License
2
2
 
3
- Copyright, 2018-2021, by Samuel Williams.
3
+ Copyright, 2018-2024, by Samuel Williams.
4
4
  Copyright, 2018, by Andreas Garnaes.
5
5
  Copyright, 2019, by Denis Talakevich.
6
6
  Copyright, 2019-2020, by Igor Sidorov.
data/readme.md CHANGED
@@ -31,8 +31,8 @@ require 'async/http/faraday'
31
31
  Faraday.default_adapter = :async_http
32
32
 
33
33
  # Per connection:
34
- conn = Faraday.new(...) do |faraday|
35
- faraday.adapter :async_http
34
+ connection = Faraday.new(...) do |builder|
35
+ builder.adapter :async_http
36
36
  end
37
37
  ```
38
38
 
@@ -40,7 +40,7 @@ Here is how you make a request:
40
40
 
41
41
  ``` ruby
42
42
  Async do
43
- response = conn.get("/index")
43
+ response = connection.get("/index")
44
44
  end
45
45
  ```
46
46
 
@@ -54,32 +54,18 @@ require 'async/http/faraday/default'
54
54
 
55
55
  ## Contributing
56
56
 
57
- 1. Fork it
58
- 2. Create your feature branch (`git checkout -b my-new-feature`)
59
- 3. Commit your changes (`git commit -am 'Add some feature'`)
60
- 4. Push to the branch (`git push origin my-new-feature`)
61
- 5. Create new Pull Request
57
+ We welcome contributions to this project.
62
58
 
63
- ## License
59
+ 1. Fork it.
60
+ 2. Create your feature branch (`git checkout -b my-new-feature`).
61
+ 3. Commit your changes (`git commit -am 'Add some feature'`).
62
+ 4. Push to the branch (`git push origin my-new-feature`).
63
+ 5. Create new Pull Request.
64
64
 
65
- Released under the MIT license.
65
+ ### Developer Certificate of Origin
66
66
 
67
- Copyright, 2015, by [Samuel G. D. Williams](http://www.codeotaku.com/samuel-williams).
67
+ This project uses the [Developer Certificate of Origin](https://developercertificate.org/). All contributors to this project must agree to this document to have their contributions accepted.
68
68
 
69
- Permission is hereby granted, free of charge, to any person obtaining a copy
70
- of this software and associated documentation files (the "Software"), to deal
71
- in the Software without restriction, including without limitation the rights
72
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
73
- copies of the Software, and to permit persons to whom the Software is
74
- furnished to do so, subject to the following conditions:
69
+ ### Contributor Covenant
75
70
 
76
- The above copyright notice and this permission notice shall be included in
77
- all copies or substantial portions of the Software.
78
-
79
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
80
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
81
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
82
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
83
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
84
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
85
- THE SOFTWARE.
71
+ This project is governed by the [Contributor Covenant](https://www.contributor-covenant.org/). All contributors and participants agree to abide by its terms.
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: async-http-faraday
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.13.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
8
  - Igor Sidorov
9
9
  - Andreas Garnaes
10
+ - Genki Takiuchi
10
11
  - Olle Jonsson
11
12
  - Benoit Daloze
12
13
  - Denis Talakevich
13
14
  - Flavio Fernandes
14
- - Genki Takiuchi
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain:
@@ -44,7 +44,7 @@ cert_chain:
44
44
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
45
45
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
46
46
  -----END CERTIFICATE-----
47
- date: 2023-04-25 00:00:00.000000000 Z
47
+ date: 2024-02-08 00:00:00.000000000 Z
48
48
  dependencies:
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: async-http
@@ -74,62 +74,6 @@ dependencies:
74
74
  - - ">="
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
- - !ruby/object:Gem::Dependency
78
- name: async-rspec
79
- requirement: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - "~>"
82
- - !ruby/object:Gem::Version
83
- version: '1.2'
84
- type: :development
85
- prerelease: false
86
- version_requirements: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - "~>"
89
- - !ruby/object:Gem::Version
90
- version: '1.2'
91
- - !ruby/object:Gem::Dependency
92
- name: bundler
93
- requirement: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- version: '0'
98
- type: :development
99
- prerelease: false
100
- version_requirements: !ruby/object:Gem::Requirement
101
- requirements:
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- version: '0'
105
- - !ruby/object:Gem::Dependency
106
- name: covered
107
- requirement: !ruby/object:Gem::Requirement
108
- requirements:
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- version: '0'
112
- type: :development
113
- prerelease: false
114
- version_requirements: !ruby/object:Gem::Requirement
115
- requirements:
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- version: '0'
119
- - !ruby/object:Gem::Dependency
120
- name: rspec
121
- requirement: !ruby/object:Gem::Requirement
122
- requirements:
123
- - - "~>"
124
- - !ruby/object:Gem::Version
125
- version: '3.6'
126
- type: :development
127
- prerelease: false
128
- version_requirements: !ruby/object:Gem::Requirement
129
- requirements:
130
- - - "~>"
131
- - !ruby/object:Gem::Version
132
- version: '3.6'
133
77
  description:
134
78
  email:
135
79
  executables: []
@@ -156,14 +100,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
156
100
  requirements:
157
101
  - - ">="
158
102
  - !ruby/object:Gem::Version
159
- version: '0'
103
+ version: '3.0'
160
104
  required_rubygems_version: !ruby/object:Gem::Requirement
161
105
  requirements:
162
106
  - - ">="
163
107
  - !ruby/object:Gem::Version
164
108
  version: '0'
165
109
  requirements: []
166
- rubygems_version: 3.4.10
110
+ rubygems_version: 3.5.5
167
111
  signing_key:
168
112
  specification_version: 4
169
113
  summary: Provides an adaptor between async-http and faraday.
metadata.gz.sig CHANGED
@@ -1,5 +1,2 @@
1
- R�����W��Sa���K��@24*�Rۂ��魴l�~���lO|��F쿊� s'UXh�|uQ��_F��P��#��e��R`�w��u�'M��a�� mʯ�b:uH��}���� sa����H^
2
- ؗY��\IqY:<X��� �Ɣ���w�2���8
3
- _z-�·�5Y :�J^k�p�K�Z�fL���{��&؂j��=7��)'>��v'���%��Fc|�,es�u���rşVyw��EO� ��P:)�1��-�}��1�Ξ�Q�$�
4
- A��"��`C��܁HZ �*ƊW�� E��RY
5
- �H���zz�g��N�1�4���
1
+ �_ t�p��Ӄ����K|6[G?�i9��)������[����bi�����1k�awQܘ���q6�i|���� m�`oUxi{�a��=�a �}��ZRPY�H�,o3^[���
2
+ O��~�ku�Ҕ�Q�6U¾ٸ���m���i�né"�bP,�"|�aO������g@�m�1��lY!�'Gڱ[ة</[9q}�����j��XP�G�BӸc�&��zđ���G?����p�"���ͧ$�K�KX�{hVژ�O݄��:���]���Ϛ����OLSu��z0�mf!�9��Qq��^%�O��ʏ��R�_f���I:-`�Ɲ9��c~�d�a�蠳�~�-5ڛG�����������h�~T("N\�Ć�