class DynamicsHTTPClient
Private: Methods for making HTTP requests to the Dynamics Web API.
Public Class Methods
refresh_token(url="", refresh_token="", client_id="", client_secret="", resource="")
click to toggle source
Allows refreshing an oAuth access token.
# File lib/msdynamics.rb, line 97 def self.refresh_token(url="", refresh_token="", client_id="", client_secret="", resource="") params = { 'refresh_token' => refresh_token, 'client_id' => client_id, 'client_secret' => client_secret, 'grant_type' => 'refresh_token', 'resource' => resource } uri = URI(url) Net::HTTP::post_form(uri, params) end
request(url="", access_token="")
click to toggle source
Sends a HTTP request.(GET)
# 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