Method: DynamicsHTTPClient.request

Defined in:
lib/msdynamics.rb

.request(url = "", access_token = "") ⇒ Object

Sends a HTTP request.(GET)



77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/msdynamics.rb', line 77

def self.request(url="", access_token="")
    uri = URI(URI.encode(url))
    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = (uri.scheme == "https")
    request = Net::HTTP::Get.new(uri)
    request["Authorization"] = "Bearer #{access_token}"
    response = http.request(request)
    if response.code != '200'
      if response.code == '401'
        # Ughhh! MS Dynamics puts the 401 error messages in the body!
        error_message = response.body
      else
        error_message = JSON.parse(response.body)['error']['message']
      end
      raise RuntimeError.new(error_message)
    end
    response
end