7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
# File 'lib/pocket.rb', line 7
def self.make_request(url, options = {})
_options = {
:method => :get,
:username => nil,
:password => nil,
:data => nil,
:headers => {
"Content-Type" => "application/json",
"Accept" => "application/json",
}
}
_options = _options.merge(options)
_uri = URI.parse(url)
_method = _options[:method]
_username = _options[:username]
_password = _options[:password]
_use_ssl = _options[:use_ssl]
_data = _options[:data]
= _options[:headers]
http = Net::HTTP.new(_uri.host, _uri.port)
if _uri.scheme == "https"
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
end
if _method == :get
request = Net::HTTP::Get.new(_uri.request_uri, )
elsif _method == :post
request = Net::HTTP::Post.new(_uri.request_uri, )
elsif _method == :put
request = Net::HTTP::Put.new(_uri.request_uri, )
elsif _method == :delete
request = Net::HTTP::Delete.new(_uri.request_uri, )
else
request = Net::HTTP::Get.new(_uri.request_uri, )
end
request.body = _data ? _data.to_json : nil
if _username && _password
request.basic_auth _username, _password
end
response = http.request(request)
response
end
|