Module: BlueFactory::Net
- Defined in:
- lib/blue_factory/tasks/support.rb
Defined Under Namespace
Classes: ResponseError
Class Method Summary collapse
- .get_request(server, method = nil, params = nil, auth: nil) ⇒ Object
- .post_request(server, method, data, auth: nil, content_type: "application/json") ⇒ Object
Class Method Details
.get_request(server, method = nil, params = nil, auth: nil) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/blue_factory/tasks/support.rb', line 9 def self.get_request(server, method = nil, params = nil, auth: nil) headers = {} headers['Authorization'] = "Bearer #{auth}" if auth url = method ? URI("#{server}/xrpc/#{method}") : URI(server) if params && !params.empty? url.query = URI.encode_www_form(params) end response = ::Net::HTTP.get_response(url, headers) raise ResponseError, "Invalid response: #{response.code} #{response.body}" if response.code.to_i / 100 != 2 JSON.parse(response.body) end |
.post_request(server, method, data, auth: nil, content_type: "application/json") ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/blue_factory/tasks/support.rb', line 25 def self.post_request(server, method, data, auth: nil, content_type: "application/json") headers = {} headers['Content-Type'] = content_type headers['Authorization'] = "Bearer #{auth}" if auth body = data.is_a?(String) ? data : data.to_json response = ::Net::HTTP.post(URI("#{server}/xrpc/#{method}"), body, headers) raise ResponseError, "Invalid response: #{response.code} #{response.body}" if response.code.to_i / 100 != 2 JSON.parse(response.body) end |