Skip to content

Commit 31b8d24

Browse files
committed
update socks adapter
1 parent 54c2d21 commit 31b8d24

File tree

1 file changed

+16
-22
lines changed

1 file changed

+16
-22
lines changed

lib/faraday/adapter/net_http_socks.rb

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,21 @@
1-
module Faraday
2-
class Adapter < Middleware
1+
class NetHttpSocks < Faraday::Adapter::NetHttp
2+
SOCKS_SCHEMES = ['socks', 'socks4', 'socks5']
33

4-
register_middleware net_http_socks: :NetHttpSocks
4+
def net_http_connection(env)
5+
proxy = env[:request][:proxy]
56

6-
class NetHttpSocks < Faraday::Adapter::NetHttp
7+
net_http_class = if proxy
8+
if SOCKS_SCHEMES.include?(proxy[:uri].scheme)
9+
Net::HTTP::SOCKSProxy(proxy[:uri].host, proxy[:uri].port)
10+
else
11+
Net::HTTP::Proxy(proxy[:uri].host, proxy[:uri].port, proxy[:user], proxy[:password])
12+
end
13+
else
14+
Net::HTTP
15+
end
716

8-
SOCKS_SCHEMES = ['socks', 'socks4', 'socks5']
9-
10-
def net_http_connection(env)
11-
proxy = env[:request][:proxy]
12-
13-
net_http_class = if proxy
14-
if SOCKS_SCHEMES.include?(proxy[:uri].scheme)
15-
Net::HTTP::SOCKSProxy(proxy[:uri].host, proxy[:uri].port)
16-
else
17-
Net::HTTP::Proxy(proxy[:uri].host, proxy[:uri].port, proxy[:user], proxy[:password])
18-
end
19-
else
20-
Net::HTTP
21-
end
22-
23-
net_http_class.new(env[:url].host, env[:url].port)
24-
end
25-
end
17+
net_http_class.new(env[:url].host, env[:url].port)
2618
end
2719
end
20+
21+
Faraday::Adapter.register_middleware(net_http_socks: NetHttpSocks)

0 commit comments

Comments
 (0)