async-http-faraday 0.5.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|