Class: SabreDevStudio::Base
- Inherits:
-
Object
- Object
- SabreDevStudio::Base
- Includes:
- HTTParty
- Defined in:
- lib/sabre_dev_studio/base.rb
Constant Summary collapse
- @@token =
nil
Class Method Summary collapse
Class Method Details
.access_token ⇒ Object
26 27 28 |
# File 'lib/sabre_dev_studio/base.rb', line 26 def self.access_token @@token end |
.get(path, options = {}) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/sabre_dev_studio/base.rb', line 44 def self.get(path, = {}) attempt = 0 begin attempt += 1 get_access_token if @@token.nil? headers = { 'Authorization' => "Bearer #{@@token}", 'Accept-Encoding' => 'gzip' } data = super( SabreDevStudio.configuration.uri + path, :query => [:query], :ssl_version => :TLSv1, :headers => headers ) verify_response(data) return data rescue SabreDevStudio::Unauthorized if attempt == 1 get_access_token retry end end end |
.get_access_token ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/sabre_dev_studio/base.rb', line 30 def self.get_access_token uri = SabreDevStudio.configuration.uri client_id = Base64.strict_encode64(SabreDevStudio.configuration.client_id) client_secret = Base64.strict_encode64(SabreDevStudio.configuration.client_secret) credentials = Base64.strict_encode64("#{client_id}:#{client_secret}") headers = { 'Authorization' => "Basic #{credentials}" } req = post("#{uri}/v1/auth/token", :body => { :grant_type => 'client_credentials' }, :ssl_version => :TLSv1, :verbose => true, :headers => headers) @@token = req['access_token'] end |