Expose proxy settings for Ruby Faraday (#11692)

This commit is contained in:
Zane Wolfgang Pickett 2022-02-26 01:16:59 -05:00 committed by GitHub
parent 9a33f99937
commit 51ecfcd743
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 8 deletions

View File

@ -12,6 +12,7 @@
}
connection = Faraday.new(:url => config.base_url, :ssl => ssl_options) do |conn|
conn.proxy = config.proxy if config.proxy
conn.request(:basic_auth, config.username, config.password)
@config.configure_middleware(conn)
if opts[:header_params]["Content-Type"] == "multipart/form-data"
@ -62,7 +63,7 @@
# @option opts [Hash] :query_params Query parameters
# @option opts [Hash] :form_params Query parameters
# @option opts [Object] :body HTTP body (JSON/XML)
# @return [Typhoeus::Request] A Typhoeus Request
# @return [Faraday::Request] A Faraday Request
def build_request(http_method, path, request, opts = {})
url = build_request_url(path, opts)
http_method = http_method.to_sym.downcase
@ -73,12 +74,6 @@
update_params_for_auth! header_params, query_params, opts[:auth_names]
req_opts = {
:params_encoding => @config.params_encoding,
:timeout => @config.timeout,
:verbose => @config.debugging
}
if [:post, :patch, :put, :delete].include?(http_method)
req_body = build_request_body(header_params, form_params, opts[:body])
if @config.debugging
@ -87,7 +82,12 @@
end
request.headers = header_params
request.body = req_body
request.options = OpenStruct.new(req_opts)
# Overload default options only if provided
request.options.params_encoding = @config.params_encoding if @config.params_encoding
request.options.timeout = @config.timeout if @config.timeout
request.options.verbose = @config.debugging if @config.debugging
request.url url
request.params = query_params
download_file(request) if opts[:return_type] == 'File'

View File

@ -27,3 +27,7 @@
### TLS/SSL setting
# Client private key file (for client certificate)
attr_accessor :ssl_client_key
### Proxy setting
# HTTP Proxy settings
attr_accessor :proxy