Class: Faraday::Adapter::NetHttpPersistent
- Inherits:
-
NetHttp
- Object
- Middleware
- Faraday::Adapter
- NetHttp
- Faraday::Adapter::NetHttpPersistent
- Defined in:
- lib/faraday/adapter/net_http_persistent.rb
Constant Summary
Constants inherited from NetHttp
Faraday::Adapter::NetHttp::NET_HTTP_EXCEPTIONS
Constants inherited from Faraday::Adapter
Instance Attribute Summary
Attributes included from Parallelism
Instance Method Summary collapse
- #configure_ssl(http, ssl) ⇒ Object
- #net_http_connection(env) ⇒ Object
- #perform_request(http, env) ⇒ Object
Methods inherited from NetHttp
#call, #configure_request, #create_request, #ssl_cert_store, #ssl_verify_mode, #with_net_http_connection
Methods inherited from Faraday::Adapter
#call, #initialize, #save_response
Methods included from Parallelism
#inherited, #supports_parallel?
Methods included from Faraday::AutoloadHelper
#all_loaded_constants, #autoload_all, #load_autoloaded_constants
Methods inherited from Middleware
dependency, inherited, #initialize, loaded?, new
Methods included from MiddlewareRegistry
#fetch_middleware, #load_middleware, #lookup_middleware, #middleware_mutex, #register_middleware
Constructor Details
This class inherits a constructor from Faraday::Adapter
Instance Method Details
#configure_ssl(http, ssl) ⇒ Object
43 44 45 46 47 48 49 50 51 |
# File 'lib/faraday/adapter/net_http_persistent.rb', line 43 def configure_ssl(http, ssl) http.verify_mode = ssl_verify_mode(ssl) http.cert_store = ssl_cert_store(ssl) http.certificate = ssl[:client_cert] if ssl[:client_cert] http.private_key = ssl[:client_key] if ssl[:client_key] http.ca_file = ssl[:ca_file] if ssl[:ca_file] http.ssl_version = ssl[:version] if ssl[:version] end |
#net_http_connection(env) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/faraday/adapter/net_http_persistent.rb', line 10 def net_http_connection(env) proxy_uri = nil if (proxy = env[:request][:proxy]) proxy_uri = ::URI::HTTP === proxy[:uri] ? proxy[:uri].dup : ::URI.parse(proxy[:uri].to_s) proxy_uri.user = proxy_uri.password = nil # awful patch for net-http-persistent 2.8 not unescaping user/password (class << proxy_uri; self; end).class_eval do define_method(:user) { proxy[:user] } define_method(:password) { proxy[:password] } end if proxy[:user] end if Net::HTTP::Persistent.instance_method(:initialize).parameters.first == [:key, :name] Net::HTTP::Persistent.new(name: 'Faraday', proxy: proxy_uri) else Net::HTTP::Persistent.new('Faraday', proxy_uri) end end |
#perform_request(http, env) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/faraday/adapter/net_http_persistent.rb', line 29 def perform_request(http, env) http.request env[:url], create_request(env) rescue Errno::ETIMEDOUT => error raise Faraday::Error::TimeoutError, error rescue Net::HTTP::Persistent::Error => error if error..include? 'Timeout' raise Faraday::Error::TimeoutError, error elsif error..include? 'connection refused' raise Faraday::Error::ConnectionFailed, error else raise end end |