async-http-faraday 0.5.1 → 0.6.0
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/.gitignore +1 -0
- data/Gemfile +2 -0
- data/async-http-faraday.gemspec +1 -1
- data/lib/async/http/faraday/adapter.rb +18 -14
- data/lib/async/http/faraday/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7547186d920c58d1c3c27f9a16041cd82c670204505ec696dcc2104990e724f3
|
4
|
+
data.tar.gz: 32e8fd12a7d66d55059e5daaa311a2735130b6704fc5b88e6313c5c4cc782ba1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7632d215b1a008a6462d9a9cdc56451f4894dfad2dcd649972b4bc55c4f92eb592e9253cd40ed207fbe21c752261d734b5e55c0113f81717a3a655f4233e0899
|
7
|
+
data.tar.gz: d3fa8fcd72045b89affe384cc4284c738e861051430544cd59fc30051fc3bad7baab4fc92ab523d6857f7f18d09404b22a576ffe6f3ccd8eea9a2d841c83df90
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/async-http-faraday.gemspec
CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
17
17
|
spec.require_paths = ["lib"]
|
18
18
|
|
19
|
-
spec.add_dependency("async-http", "~> 0.
|
19
|
+
spec.add_dependency("async-http", "~> 0.42")
|
20
20
|
spec.add_dependency("faraday")
|
21
21
|
|
22
22
|
spec.add_development_dependency "async-rspec", "~> 1.2"
|
@@ -20,32 +20,36 @@
|
|
20
20
|
|
21
21
|
require 'faraday'
|
22
22
|
require 'faraday/adapter'
|
23
|
-
require 'async/http/
|
23
|
+
require 'async/http/internet'
|
24
24
|
|
25
25
|
module Async
|
26
26
|
module HTTP
|
27
27
|
module Faraday
|
28
|
+
# Detect whether we can use persistent connections:
|
29
|
+
PERSISTENT = ::Faraday::Connection.instance_methods.include?(:close)
|
30
|
+
|
28
31
|
class Adapter < ::Faraday::Adapter
|
32
|
+
def initialize(*arguments, **options, &block)
|
33
|
+
super
|
34
|
+
|
35
|
+
@internet = Async::HTTP::Internet.new
|
36
|
+
end
|
37
|
+
|
38
|
+
def close
|
39
|
+
@internet.close
|
40
|
+
end
|
41
|
+
|
29
42
|
def call(env)
|
30
43
|
super
|
31
44
|
|
32
|
-
|
45
|
+
response = @internet.call(env[:method], env[:url].to_s, env[:request_headers], env[:body])
|
33
46
|
|
34
|
-
response = client.send(env[:method], env[:url].request_uri, env[:request_headers], env[:body] || [])
|
35
|
-
|
36
47
|
save_response(env, response.status, response.read, response.headers)
|
37
48
|
|
38
|
-
@app.call
|
49
|
+
return @app.call(env)
|
39
50
|
ensure
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
def endpoints_for(env)
|
44
|
-
return to_enum(:endpoints_for, env) unless block_given?
|
45
|
-
|
46
|
-
if url = env[:url]
|
47
|
-
yield Async::HTTP::Endpoint.new(url)
|
48
|
-
end
|
51
|
+
# Don't retain persistent connections unless they will eventually be closed:
|
52
|
+
@internet.close unless PERSISTENT
|
49
53
|
end
|
50
54
|
end
|
51
55
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: async-http-faraday
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-12-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: async-http
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.42'
|
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: '0.
|
26
|
+
version: '0.42'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: faraday
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -144,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
144
|
- !ruby/object:Gem::Version
|
145
145
|
version: '0'
|
146
146
|
requirements: []
|
147
|
-
rubygems_version: 3.0.
|
147
|
+
rubygems_version: 3.0.4
|
148
148
|
signing_key:
|
149
149
|
specification_version: 4
|
150
150
|
summary: Provides an adaptor between async-http and faraday.
|