class Fastlane::Farol::Api
Public Instance Methods
request(token, verb, method, form_data = nil)
click to toggle source
# File lib/fastlane/plugin/farol/lib/farol.rb, line 4 def request(token, verb, method, form_data = nil) farol_url = 'https://frl.io:443' if ENV["FAROL_URL"] farol_url = ENV["FAROL_URL"] end # Create the URL to be called url = URI(farol_url + '/' + method) response = Net::HTTP.start(url.host, url.port, use_ssl: url.scheme == 'https') do |http| if verb == 'post' request = Net::HTTP::Post.new url if form_data request.set_form_data(form_data) end elsif verb == 'put' request = Net::HTTP::Put.new url if form_data request.set_form_data(form_data) end else request = Net::HTTP::Get.new url end request['authorization'] = token http.request(request) # Net::HTTPResponse object end case response when Net::HTTPSuccess if valid_json(response.read_body) return JSON.parse response.read_body else return true end when Net::HTTPUnauthorized UI.error("Farol: #{response.message} - is your authorization token correct?") when Net::HTTPServerError UI.error("Farol: #{response.message} - try again later?") else UI.error("Farol: #{response.message}") end return false end
valid_json(json)
click to toggle source
Check if the parameter is a valid JSON string
# File lib/fastlane/plugin/farol/lib/farol.rb, line 50 def valid_json(json) JSON.parse(json) return true rescue JSON::ParserError => e return false end