class Twitter::Headers
Public Class Methods
new(client, request_method, url, options = {})
click to toggle source
# File lib/twitter/headers.rb, line 7 def initialize(client, request_method, url, options = {}) @client = client @request_method = request_method.to_sym @uri = Addressable::URI.parse(url) @bearer_token_request = options.delete(:bearer_token_request) @options = options end
Public Instance Methods
bearer_token_request?()
click to toggle source
# File lib/twitter/headers.rb, line 15 def bearer_token_request? !!@bearer_token_request end
oauth_auth_header()
click to toggle source
# File lib/twitter/headers.rb, line 19 def oauth_auth_header SimpleOAuth::Header.new(@request_method, @uri, @options, @client.credentials.merge(ignore_extra_keys: true)) end
request_headers()
click to toggle source
# File lib/twitter/headers.rb, line 23 def request_headers headers = {} headers[:user_agent] = @client.user_agent if bearer_token_request? headers[:accept] = '*/*' headers[:authorization] = bearer_token_credentials_auth_header else headers[:authorization] = auth_header end headers end
Private Instance Methods
auth_header()
click to toggle source
# File lib/twitter/headers.rb, line 37 def auth_header if @client.user_token? oauth_auth_header.to_s else @client.bearer_token = @client.token unless @client.bearer_token? bearer_auth_header end end
bearer_auth_header()
click to toggle source
@return [String]
# File lib/twitter/headers.rb, line 47 def bearer_auth_header "Bearer #{@client.bearer_token}" end
bearer_token_credentials_auth_header()
click to toggle source
Generates authentication header for a bearer token request
@return [String]
# File lib/twitter/headers.rb, line 54 def bearer_token_credentials_auth_header "Basic #{Base64.strict_encode64("#{@client.consumer_key}:#{@client.consumer_secret}")}" end