Class: Basecamp::Connection

Inherits:
Object
  • Object
show all
Defined in:
lib/basecamp/connection.rb

Instance Method Summary collapse

Constructor Details

#initialize(master) ⇒ Connection

Returns a new instance of Connection.



2
3
4
5
6
7
# File 'lib/basecamp/connection.rb', line 2

def initialize(master)
  @master = master
  @connection = Net::HTTP.new(master.site, master.use_ssl ? 443 : 80)
  @connection.use_ssl = master.use_ssl
  @connection.verify_mode = OpenSSL::SSL::VERIFY_NONE if master.use_ssl
end

Instance Method Details

#get(path, headers = {}) ⇒ Object



17
18
19
20
21
# File 'lib/basecamp/connection.rb', line 17

def get(path, headers = {})
  request = Net::HTTP::Get.new(path, headers.merge('Accept' => 'application/xml'))
  request.basic_auth(@master.user, @master.password) unless @master.use_oauth
  @connection.request(request)
end

#post(path, iostream, headers = {}) ⇒ Object



9
10
11
12
13
14
15
# File 'lib/basecamp/connection.rb', line 9

def post(path, iostream, headers = {})
  request = Net::HTTP::Post.new(path, headers.merge('Accept' => 'application/xml'))
  request.basic_auth(@master.user, @master.password) unless @master.use_oauth
  request.body_stream = iostream
  request.content_length = iostream.size
  @connection.request(request)
end