Module: ProxyRb::Api::HttpProxy
Overview
For http proxy
Instance Method Summary collapse
-
#proxy ⇒ Object
The proxy based on subject.
-
#request ⇒ Object
Get access to the request made.
-
#response ⇒ Object
Get access to the response get.
-
#visit(url) ⇒ Object
(also: #download)
Visit an URL.
Instance Method Details
#proxy ⇒ Object
The proxy based on subject
44 45 46 |
# File 'lib/proxy_rb/api/http_proxy.rb', line 44 def proxy ProxyRb::HttpProxy.new(ProxyUrlParser.new(subject)) end |
#request ⇒ Object
Get access to the request made
88 89 90 |
# File 'lib/proxy_rb/api/http_proxy.rb', line 88 def request Request.new(page) end |
#response ⇒ Object
Get access to the response get
93 94 95 |
# File 'lib/proxy_rb/api/http_proxy.rb', line 93 def response Response.new(page) end |
#visit(url) ⇒ Object Also known as: download
Visit an URL
rubocop:disable Metrics/AbcSize
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/proxy_rb/api/http_proxy.rb', line 52 def visit(url) resource = Resource.new(url) proxy_rb.event_bus.notify Events::ResourceSet.new(resource.url.to_s) proxy_rb.event_bus.notify Events::ResourceUserSet.new(resource.credentials.to_s) unless resource.credentials.empty? NonIncludes.clear_environment NonIncludes.configure_driver proxy_rb.event_bus.notify Events::ProxySet.new(proxy.url.to_s) proxy_rb.event_bus.notify Events::ProxyUserSet.new(proxy.credentials.to_s) unless proxy.credentials.empty? NonIncludes.(proxy) proxy_rb.event_bus.notify Events::BeforeResourceFetched.new(page) begin super(resource.to_s) rescue *ProxyRb.config.driver.timeout_errors raise ProxyRb::UrlTimeoutError, "Failed to fetch #{resource}: Timeout occured." rescue *ProxyRb.config.driver.failure_errors => e raise ProxyRb::ResourceNotDownloadableError, "Failed to fetch #{resource}: #{e.}." rescue => e raise ProxyRb::ResourceNotDownloadableError, "An unexpected error occured while fetching #{resource}: #{e.}." end proxy_rb.event_bus.notify Events::AfterResourceFetched.new(page) end |