module Util

Constants

BASE_URL

Public Class Methods

prefix_token(token) click to toggle source
# File lib/util.rb, line 38
def self.prefix_token(token)
  (/bearer /.match(token).nil?) ? "bearer #{token}" : token
end
send_request(method, endpoint, token = nil, data = nil) click to toggle source

method: “GET”, “POST” endpoint: “vrp”, “vrp-long”, “job” token: if nil, raise ArgumentError; if missing “bearer”, prefix data: only for POST requests

# File lib/util.rb, line 13
def self.send_request(method, endpoint, token = nil, data = nil)
  url = BASE_URL + endpoint
  headers = {
    content_type: :json,
    accept: :json
  }
  headers['Authorization'] = token if token
  begin
    # Sends HTTP request to Routific API server
    response = nil
    if method == 'GET'
      response = RestClient.get(url, headers)
    elsif method == 'POST'
      response = RestClient.post(url, data.to_json, headers)
    end

    return JSON.parse(response)
  rescue => e
    puts e
    errorResponse = JSON.parse e.response.body
    puts "Received HTTP #{e.message}: #{errorResponse["error"]}"
    nil
  end
end