Class: DynamicsHTTPClient
- Inherits:
-
Object
- Object
- DynamicsHTTPClient
- Defined in:
- lib/msdynamics.rb
Overview
Private: Methods for making HTTP requests to the Dynamics Web API.
Class Method Summary collapse
-
.refresh_token(url = "", refresh_token = "", client_id = "", client_secret = "", resource = "") ⇒ Object
Allows refreshing an oAuth access token.
-
.request(url = "", access_token = "") ⇒ Object
Sends a HTTP request.(GET).
Class Method Details
.refresh_token(url = "", refresh_token = "", client_id = "", client_secret = "", resource = "") ⇒ Object
Allows refreshing an oAuth access token.
97 98 99 100 101 102 103 104 105 106 107 108 |
# 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 = "") ⇒ 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! = response.body else = JSON.parse(response.body)['error']['message'] end raise RuntimeError.new() end response end |