mirror of
https://github.com/discourse/discourse.git
synced 2024-12-21 14:33:48 +08:00
23 lines
570 B
Ruby
23 lines
570 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
class FinalDestination
|
||
|
class FaradayAdapter < Faraday::Adapter::NetHttp
|
||
|
def net_http_connection(env)
|
||
|
proxy = env[:request][:proxy]
|
||
|
port = env[:url].port || (env[:url].scheme == "https" ? 443 : 80)
|
||
|
if proxy
|
||
|
FinalDestination::HTTP.new(
|
||
|
env[:url].hostname,
|
||
|
port,
|
||
|
proxy[:uri].hostname,
|
||
|
proxy[:uri].port,
|
||
|
proxy[:user],
|
||
|
proxy[:password],
|
||
|
)
|
||
|
else
|
||
|
FinalDestination::HTTP.new(env[:url].hostname, port, nil)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|