Class: ProxyFetcher::Client::Request
- Inherits:
 - 
      Object
      
        
- Object
 - ProxyFetcher::Client::Request
 
 
- Defined in:
 - lib/proxy_fetcher/client/request.rb
 
Overview
ProxyFetcher::Client HTTP request abstraction.
Instance Attribute Summary collapse
- 
  
    
      #headers  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute headers.
 - 
  
    
      #max_redirects  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute max_redirects.
 - 
  
    
      #method  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute method.
 - 
  
    
      #payload  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute payload.
 - 
  
    
      #proxy  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute proxy.
 - 
  
    
      #ssl_options  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute ssl_options.
 - 
  
    
      #timeout  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute timeout.
 - 
  
    
      #url  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute url.
 
Class Method Summary collapse
- 
  
    
      .execute(args)  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    
Initializes a new HTTP request and processes it.
 
Instance Method Summary collapse
- 
  
    
      #execute  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    
Executes HTTP request with defined options.
 - 
  
    
      #initialize(args)  ⇒ Request 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
Initialize new HTTP request.
 
Constructor Details
#initialize(args) ⇒ Request
Initialize new HTTP request
      52 53 54 55 56 57 58 59 60 61 62 63 64 65 66  | 
    
      # File 'lib/proxy_fetcher/client/request.rb', line 52 def initialize(args) raise ArgumentError, "args must be a Hash!" unless args.is_a?(Hash) @url = args.fetch(:url) @method = args.fetch(:method).to_s.downcase @headers = (args[:headers] || {}).dup @payload = args[:payload] @timeout = args.fetch(:timeout, ProxyFetcher.config.client_timeout) @ssl_options = args.fetch(:ssl_options, ) @proxy = args.fetch(:proxy) @max_redirects = args.fetch(:max_redirects, 10) @http = build_http_client end  | 
  
Instance Attribute Details
#headers ⇒ Object (readonly)
Returns the value of attribute headers.
      17 18 19  | 
    
      # File 'lib/proxy_fetcher/client/request.rb', line 17 def headers @headers end  | 
  
#max_redirects ⇒ Object (readonly)
Returns the value of attribute max_redirects.
      33 34 35  | 
    
      # File 'lib/proxy_fetcher/client/request.rb', line 33 def max_redirects @max_redirects end  | 
  
#method ⇒ Object (readonly)
Returns the value of attribute method.
      9 10 11  | 
    
      # File 'lib/proxy_fetcher/client/request.rb', line 9 def method @method end  | 
  
#payload ⇒ Object (readonly)
Returns the value of attribute payload.
      25 26 27  | 
    
      # File 'lib/proxy_fetcher/client/request.rb', line 25 def payload @payload end  | 
  
#proxy ⇒ Object (readonly)
Returns the value of attribute proxy.
      29 30 31  | 
    
      # File 'lib/proxy_fetcher/client/request.rb', line 29 def proxy @proxy end  | 
  
#ssl_options ⇒ Object (readonly)
Returns the value of attribute ssl_options.
      37 38 39  | 
    
      # File 'lib/proxy_fetcher/client/request.rb', line 37 def @ssl_options end  | 
  
#timeout ⇒ Object (readonly)
Returns the value of attribute timeout.
      21 22 23  | 
    
      # File 'lib/proxy_fetcher/client/request.rb', line 21 def timeout @timeout end  | 
  
#url ⇒ Object (readonly)
Returns the value of attribute url.
      13 14 15  | 
    
      # File 'lib/proxy_fetcher/client/request.rb', line 13 def url @url end  | 
  
Class Method Details
.execute(args) ⇒ String
Initializes a new HTTP request and processes it
      44 45 46  | 
    
      # File 'lib/proxy_fetcher/client/request.rb', line 44 def self.execute(args) new(args).execute end  | 
  
Instance Method Details
#execute ⇒ String
Executes HTTP request with defined options.
      73 74 75 76 77 78  | 
    
      # File 'lib/proxy_fetcher/client/request.rb', line 73 def execute response = send_request response.body.to_s rescue HTTP::Redirector::TooManyRedirectsError raise ProxyFetcher::Exceptions::MaximumRedirectsReached end  |