Class: PlainHTTP

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

Class Method Summary collapse

Class Method Details

.delete(url, headers = {}) ⇒ Object



21
22
23
# File 'lib/plain_http.rb', line 21

def self.delete(url, headers = {})
  request('DELETE', url, headers, nil)
end

.get(url, headers = {}) ⇒ Object



9
10
11
# File 'lib/plain_http.rb', line 9

def self.get(url, headers = {})
  request('GET', url, headers, nil)
end

.head(url, headers = {}) ⇒ Object



5
6
7
# File 'lib/plain_http.rb', line 5

def self.head(url, headers = {})
  request('HEAD', url, headers, nil)
end

.post(url, headers = {}, data = nil) ⇒ Object



13
14
15
# File 'lib/plain_http.rb', line 13

def self.post(url, headers = {}, data = nil)
  request('POST', url, headers, data)
end

.put(url, headers = {}, data = nil) ⇒ Object



17
18
19
# File 'lib/plain_http.rb', line 17

def self.put(url, headers = {}, data = nil)
  request('PUT', url, headers, data)
end

.request(method, url, headers, data) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/plain_http.rb', line 25

def self.request(method, url, headers, data)
  method_class_name = method.to_s.downcase.sub(/^[a-z]/i) {|m| m.upcase}
  req_class = Net::HTTP.const_get(method_class_name)
  uri = URI.parse(url)
  req = req_class.new(uri.request_uri, headers)
  if data.respond_to?(:to_hash)
    req.set_form_data(data.to_hash)
  elsif data.to_s != ''
    req.body = data
  end
  res = Net::HTTP.start(uri.host, uri.port) {|http|
    http.request(req)
  }
  res
end