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 +4 -4
- data/README.md +38 -6
- data/lib/faraday/adapter/em_http.rb +14 -16
- data/lib/faraday/em_http/version.rb +1 -1
- data/lib/faraday/em_http.rb +1 -0
- metadata +7 -52
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 283861247fa7b6f9650369baa8855a3b8f785f71baf56f4a65ab7234c05d27c8
|
4
|
+
data.tar.gz: 3f7a58ae14d8ddb102a53c6816180092759678828cd77e2d705ecab9356f5da3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
-
|
31
|
-
|
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
|
-
|
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]
|
data/lib/faraday/em_http.rb
CHANGED
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:
|
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:
|
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: :
|
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: '
|
34
|
-
type: :
|
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: '
|
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.
|
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: []
|