17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/git_wand/github/api/request.rb', line 17
def http_request(resource:, method: :get, client:, parameters: {})
if ALLOWED_HTTP_METHODS.include?(method)
net_http_class = Net::HTTP.const_get(method.to_s.capitalize.to_sym)
else
raise "#{method} is not a valid HTTP method"
end
uri = build_resource_uri(resource)
response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == 'https') do |http|
request = net_http_class.new(uri)
request["Accept"] = "application/vnd.github.v3+json"
request["Content-Type"] = "application/json"
request.basic_auth(client.username, client.token)
request.body = JSON.generate(parameters)
http.request(request)
end
Response.parse(response)
end
|