Sha256: 3de117014e8f2f9046e9086b94e259a30efad2b5f410e95c9733f03b63698a23
Contents?: true
Size: 1.76 KB
Versions: 3
Compression:
Stored size: 1.76 KB
Contents
require 'paypalhttp' require 'openssl' require_relative './version' module PayPal class PayPalHttpClient < PayPalHttp::HttpClient attr_accessor :refresh_token def initialize(environment, refresh_token = nil) super(environment) @refresh_token = refresh_token add_injector(&method(:_sign_request)) add_injector(&method(:_add_headers)) end def user_agent library_details ||= "paypal-payouts-sdk #{VERSION}; ruby #{RUBY_VERSION}p#{RUBY_PATCHLEVEL}-#{RUBY_PLATFORM}" begin library_details << ";#{OpenSSL::OPENSSL_LIBRARY_VERSION}" rescue NameError library_details << ";OpenSSL #{OpenSSL::OPENSSL_VERSION}" end "PayPalSDK/rest-sdk-ruby #{VERSION} (#{library_details})" end def _sign_request(request) if (!_has_auth_header(request) && !_is_auth_request(request)) if (!@access_token || @access_token.isExpired) accessTokenRequest = PayPal::AccessTokenRequest.new(@environment, @refresh_token) tokenResponse = execute(accessTokenRequest) @access_token = PayPal::AccessToken.new(tokenResponse.result) end request.headers["Authorization"] = @access_token.authorizationString() end end def _add_headers(request) request.headers["Accept-Encoding"] = "gzip" request.headers["sdk_name"] = "Payouts SDK" request.headers["sdk_version"] = VERSION request.headers["sdk_tech_stack"] = "Ruby" + RUBY_VERSION request.headers["api_integration_type"] = "PAYPALSDK" end def _is_auth_request(request) request.path == '/v1/oauth2/token' || request.path == '/v1/identity/openidconnect/tokenservice' end def _has_auth_header(request) request.headers.key?("Authorization") end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
paypal-payouts-sdk-2.0.1 | lib/core/paypal_http_client.rb |
paypal-payouts-sdk-1.0.1 | lib/core/paypal_http_client.rb |
paypal-payouts-sdk-1.0.0 | lib/core/paypal_http_client.rb |