Class: Lifestream::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/lifestream/request.rb

Defined Under Namespace

Classes: TooManyRedirects

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url, options = {}) ⇒ Request

Returns a new instance of Request.



6
7
8
9
10
# File 'lib/lifestream/request.rb', line 6

def initialize(url, options = {})
  @url = url
  options[:max_redirects] ||= 5
  @max_redirects = options[:max_redirects]
end

Instance Attribute Details

#max_redirectsObject

Returns the value of attribute max_redirects.



4
5
6
# File 'lib/lifestream/request.rb', line 4

def max_redirects
  @max_redirects
end

#urlObject

Returns the value of attribute url.



4
5
6
# File 'lib/lifestream/request.rb', line 4

def url
  @url
end

Instance Method Details

#get(url = @url) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/lifestream/request.rb', line 12

def get(url = @url)
  check_max_redirects
  url, request = build_request(url)
  response = Net::HTTP.start(url.host, url.port) do |http|
    http.request(request)
  end
  if response.kind_of?(Net::HTTPRedirection)
    @redirect += 1
    get(response.header['location'])
  else
    response
  end
end