class Sitejabber::ApiResource
Constants
- MUTEX
Public Class Methods
new()
click to toggle source
# File lib/sitejabber/api_resource.rb, line 5 def initialize; end
Public Instance Methods
request(path, verb: "get", params: {})
click to toggle source
# File lib/sitejabber/api_resource.rb, line 7 def request path, verb: "get", params: {}, options: {} MUTEX.synchronize do begin _renew_token if Auth::Token.expired? _call_api path, verb, params, options rescue AuthenticationError => ae if [ 203, 204, 206, 207 ].include? ae.error_info[ "errorCode" ] # Invalid token/session, try again _renew_token _call_api path, verb, params, options else raise ae end end end end
Private Instance Methods
_call_api(path, verb, params, options)
click to toggle source
# File lib/sitejabber/api_resource.rb, line 27 def _call_api path, verb, params, options opts = options.dup opts[ :headers ] ||= {} opts[ :headers ].merge! "user_token" => Auth::Token.get request = Request.new path, options: opts, params: params, verb: verb Api.request request end
_renew_token()
click to toggle source
# File lib/sitejabber/api_resource.rb, line 37 def _renew_token response = Authenticator.new.request_token Auth::Token.set response[ "token" ], response[ "expire" ] end