Sha256: 1720a24c50c015c250d5d641ddf5d997ebc906de2ed4307c2d037d1561b39c35

Contents?: true

Size: 769 Bytes

Versions: 1

Compression:

Stored size: 769 Bytes

Contents

require 'horseman/response'

module Horseman
  class Browser
    attr_accessor :base_url
    attr_reader :cookies, :connection, :last_response
    
    def initialize(connection, base_url='')
      @connection = connection
      @base_url = base_url
      @cookies = Horseman::Cookies.new
    end
    
    def clear_session
      @cookies.clear
    end
    
    def get!(path = '/')
      request = @connection.build_request(:url => "#{@base_url}#{path}", :verb => :get)
      exec(request)
    end
    
    private
    
    def exec(request)
      request['cookie'] = @cookies.to_s
      response = @connection.exec_request(request)
      @cookies.update(response.get_fields('set-cookie'))
      @last_response = Horseman::Response.new(response.body)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
horseman-0.0.1 lib/horseman/browser.rb