|
1 |
| -module Faraday |
2 |
| - class Adapter < Middleware |
| 1 | +class NetHttpSocks < Faraday::Adapter::NetHttp |
| 2 | + SOCKS_SCHEMES = ['socks', 'socks4', 'socks5'] |
3 | 3 |
|
4 |
| - register_middleware net_http_socks: :NetHttpSocks |
| 4 | + def net_http_connection(env) |
| 5 | + proxy = env[:request][:proxy] |
5 | 6 |
|
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 |
7 | 16 |
|
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) |
26 | 18 | end
|
27 | 19 | end
|
| 20 | + |
| 21 | +Faraday::Adapter.register_middleware(net_http_socks: NetHttpSocks) |
0 commit comments