class OneRoster::Connection
Constants
- OPEN_TIMEOUT
- TIMEOUT
Public Class Methods
new(client, oauth_strategy = 'oauth')
click to toggle source
# File lib/one_roster/connection.rb, line 8 def initialize(client, oauth_strategy = 'oauth') @client = client @oauth_strategy = oauth_strategy end
Public Instance Methods
connection()
click to toggle source
# File lib/one_roster/connection.rb, line 22 def connection return @connection if @connection @connection = if @oauth_strategy == 'oauth2' oauth2_connection else oauth_connection end end
execute(path, method = :get, params = nil, body = nil)
click to toggle source
# File lib/one_roster/connection.rb, line 13 def execute(path, method = :get, params = nil, body = nil) Response.new(raw_request(path, method, params, body)) end
log(message = '')
click to toggle source
# File lib/one_roster/connection.rb, line 32 def log(message = '') return unless @client.logger @client.logger.info message end
set_auth_headers(token, cookie)
click to toggle source
# File lib/one_roster/connection.rb, line 17 def set_auth_headers(token, cookie) connection.authorization :Bearer, token @cookie = cookie end
Private Instance Methods
oauth2_connection()
click to toggle source
# File lib/one_roster/connection.rb, line 64 def oauth2_connection connection = Faraday.new(@client.api_url) do |connection| connection.request :json connection.response :logger, @client.logger if @client.logger connection.response :json, content_type: /\bjson$/ connection.adapter Faraday.default_adapter end connection.basic_auth(@client.app_id, @client.app_secret) connection end
oauth_connection()
click to toggle source
# File lib/one_roster/connection.rb, line 53 def oauth_connection Faraday.new(@client.api_url) do |connection| connection.request :oauth, consumer_key: @client.app_id, consumer_secret: @client.app_secret connection.response :logger, @client.logger if @client.logger connection.response :json, content_type: /\bjson$/ connection.adapter Faraday.default_adapter end end
raw_request(path, method, params, body)
click to toggle source
# File lib/one_roster/connection.rb, line 40 def raw_request(path, method, params, body) p "request #{path} #{params}" connection.public_send(method) do |request| request.options.open_timeout = OPEN_TIMEOUT request.options.timeout = TIMEOUT request.url path, params request.headers['Accept-Header'] = 'application/json' request.headers['Cookie'] = @cookie request.body = body end end