faraday-em_http 1.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8982a4cb78e29659a4903e779305b1d8b949991b60bd5fc9c39f3d9caaa4bcc3
4
- data.tar.gz: 65343a1e259389675dc9ef4c5b50772e7a87ad8bbaa601b7433f8697154e9a78
3
+ metadata.gz: 283861247fa7b6f9650369baa8855a3b8f785f71baf56f4a65ab7234c05d27c8
4
+ data.tar.gz: 3f7a58ae14d8ddb102a53c6816180092759678828cd77e2d705ecab9356f5da3
5
5
  SHA512:
6
- metadata.gz: da88bf5433fef291af85674490b017c8f6356030304a37e6156c2409d776b9e0712a05fe13656029bf400bef0404239d6132a964bdc85a2097321b4051a96494
7
- data.tar.gz: ff7dc9115defddc26448b5dce034c56e7abf33375987a4083dd7bdb1f5fab6d0dc1d0e4b24884681cb1d03207717e83692ca2f0d106f5f16656211748750c1f7
6
+ metadata.gz: f23d9d63a043ce6af7ad0ea54385f19a4da2c8dcf08cab3b2fc6f4b4343b07bda8acffe12e64dfcda2ee5446726bb1260892162726f7be2643272b4f22af9e1a
7
+ data.tar.gz: 85f8991a785fec173efaf871875d49c447bf48e377ca873ffdc765951cacf77474bca9f20f31762390f7a935f741250a1b4bf7124da6af5a0611dc677d422f45
data/README.md CHANGED
@@ -9,7 +9,6 @@ Every adapter is defined into its own gem. This gem defines the adapter for Em::
9
9
  Add these lines to your application's Gemfile:
10
10
 
11
11
  ```ruby
12
- gem 'em-http-request', '>= 1.1'
13
12
  gem 'faraday-em_http'
14
13
  ```
15
14
 
@@ -19,20 +18,53 @@ And then execute:
19
18
 
20
19
  Or install them yourself as:
21
20
 
22
- $ gem install em-http-request -v '>= 1.1'
23
21
  $ gem install faraday-em_http
24
22
 
25
23
  ## Usage
26
24
 
27
- Configure your Faraday connection to use this adapter like this:
25
+ This adapter can be used to make parallel requests using EventMachine.
26
+
27
+ The major difference between this and [Faraday Em::Synchrony adapter](https://github.com/lostisland/faraday-em_synchrony) is that it does not use fibers.
28
+
29
+ **Error handling and responses have a slightly different behaviour and structure in some cases. Please run thorough testing scenarios, including connection failures and SSL failures**
30
+
31
+
32
+ ### Base request
28
33
 
29
34
  ```ruby
30
- connection = Faraday.new(url, conn_options) do |conn|
31
- conn.adapter(:em_http)
35
+ require 'faraday/em_http'
36
+
37
+ conn = Faraday.new(...) do |f|
38
+ # no custom options available
39
+ f.adapter :em_http
32
40
  end
33
41
  ```
34
42
 
35
- For more information on how to setup your Faraday connection and adapters usage, please refer to the [Faraday Website][faraday-website].
43
+ ### Parallel Requests
44
+
45
+ ```ruby
46
+ require 'faraday/em_http'
47
+
48
+ urls = Array.new(5) { 'http://127.0.0.1:3000' }
49
+
50
+ conn = Faraday::Connection.new do |builder|
51
+ builder.adapter :em_http
52
+ end
53
+
54
+ begin
55
+ conn.in_parallel do
56
+ puts "Parallel manager: #{conn.parallel_manager}"
57
+
58
+ @responses = urls.map do |url|
59
+ conn.get(url)
60
+ end
61
+ end
62
+ end
63
+
64
+ # Gather responses outside of block
65
+ puts @responses.map(&:status).join(', ')
66
+ puts @responses.map(&:status).compact.count
67
+ ```
36
68
 
37
69
  ## Development
38
70
 
@@ -1,5 +1,19 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'em-http'
4
+
5
+ begin
6
+ require 'openssl'
7
+ rescue LoadError
8
+ warn 'Warning: no such file to load -- openssl. ' \
9
+ 'Make sure it is installed if you want HTTPS support'
10
+ else
11
+ require 'em-http/version'
12
+ if EventMachine::HttpRequest::VERSION < '1.1.6'
13
+ require 'faraday/adapter/em_http_ssl_patch'
14
+ end
15
+ end
16
+
3
17
  module Faraday
4
18
  class Adapter
5
19
  # EventMachine adapter. This adapter is useful for either asynchronous
@@ -90,22 +104,6 @@ module Faraday
90
104
 
91
105
  include Options
92
106
 
93
- dependency do
94
- require 'em-http'
95
-
96
- begin
97
- require 'openssl'
98
- rescue LoadError
99
- warn 'Warning: no such file to load -- openssl. ' \
100
- 'Make sure it is installed if you want HTTPS support'
101
- else
102
- require 'em-http/version'
103
- if EventMachine::HttpRequest::VERSION < '1.1.6'
104
- require 'faraday/adapter/em_http_ssl_patch'
105
- end
106
- end
107
- end
108
-
109
107
  self.supports_parallel = true
110
108
 
111
109
  # @return [Manager]
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Faraday
4
4
  module EmHttp
5
- VERSION = '1.0.0'
5
+ VERSION = '2.0.1'
6
6
  end
7
7
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'faraday'
3
4
  require_relative 'adapter/em_http'
4
5
  require_relative 'em_http/version'
5
6
 
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faraday-em_http
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - "@iMacTia"
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2021-04-25 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: em-http-request
@@ -17,7 +16,7 @@ dependencies:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
18
  version: '1.1'
20
- type: :development
19
+ type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
@@ -30,14 +29,14 @@ dependencies:
30
29
  requirements:
31
30
  - - "~>"
32
31
  - !ruby/object:Gem::Version
33
- version: '1.0'
34
- type: :development
32
+ version: '2.0'
33
+ type: :runtime
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - "~>"
39
38
  - !ruby/object:Gem::Version
40
- version: '1.0'
39
+ version: '2.0'
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: bundler
43
42
  requirement: !ruby/object:Gem::Requirement
@@ -122,48 +121,6 @@ dependencies:
122
121
  - - "~>"
123
122
  - !ruby/object:Gem::Version
124
123
  version: '3.4'
125
- - !ruby/object:Gem::Dependency
126
- name: rubocop
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: 0.91.1
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: 0.91.1
139
- - !ruby/object:Gem::Dependency
140
- name: rubocop-packaging
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: '0.5'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: '0.5'
153
- - !ruby/object:Gem::Dependency
154
- name: rubocop-performance
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - "~>"
158
- - !ruby/object:Gem::Version
159
- version: '1.0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - "~>"
165
- - !ruby/object:Gem::Version
166
- version: '1.0'
167
124
  description: Faraday adapter for Em::Http
168
125
  email:
169
126
  - giuffrida.mattia@gmail.com
@@ -184,7 +141,6 @@ metadata:
184
141
  homepage_uri: https://github.com/lostisland/faraday-em_http
185
142
  source_code_uri: https://github.com/lostisland/faraday-em_http
186
143
  changelog_uri: https://github.com/lostisland/faraday-em_http
187
- post_install_message:
188
144
  rdoc_options: []
189
145
  require_paths:
190
146
  - lib
@@ -199,8 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
199
155
  - !ruby/object:Gem::Version
200
156
  version: '0'
201
157
  requirements: []
202
- rubygems_version: 3.1.6
203
- signing_key:
158
+ rubygems_version: 3.6.7
204
159
  specification_version: 4
205
160
  summary: Faraday adapter for Em::Http
206
161
  test_files: []