Class: TinyHttp

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

Constant Summary collapse

Error =
Class.new(StandardError)

Instance Method Summary collapse

Instance Method Details

#get(url) ⇒ Object



7
8
9
10
11
12
# File 'lib/tiny_http.rb', line 7

def get(url)
  uri = URI.parse(url)
  request = Net::HTTP::Get.new(uri.request_uri)

  response = send_request(uri, request)
end

#post(url, data = nil) ⇒ Object



14
15
16
17
18
19
20
# File 'lib/tiny_http.rb', line 14

def post(url, data = nil)
  uri = URI.parse(url)
  request = Net::HTTP::Post.new(uri.path)
  request.set_form_data(data) if data

  response = send_request(uri, request)
end

#send_request(uri, request) ⇒ Object



22
23
24
25
26
27
28
29
30
31
# File 'lib/tiny_http.rb', line 22

def send_request(uri, request)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true if uri.scheme == "https"

  response = http.start { |http| http.request(request) }
rescue SocketError => e
  e = Error.new(e.message)
  e.set_backtrace(e.backtrace)
  raise e
end