class BitBucket::Request::OAuth

Constants

AUTH_HEADER

Public Class Methods

new(app, *args) click to toggle source
Calls superclass method
# File lib/bitbucket_rest_api/request/oauth.rb, line 33
def initialize(app, *args)
  super app
  @app = app
  @consumer = args.shift
  @token = args.shift
  @secret = args.shift
end

Public Instance Methods

call(env) click to toggle source
# File lib/bitbucket_rest_api/request/oauth.rb, line 13
def call(env)
  # Extract parameters from the query
  request = Rack::Request.new env
  env[:url] = URI.parse(request.url) if env[:url].nil?
  params = {}.update query_params(env[:url])

  if (@token && @secret) && (!@token.empty? && !@secret.empty?)
    access_token = ::OAuth::AccessToken.new(@consumer, @token, @secret)
    env[:url].query = build_query params

    puts oauth_helper.header
    puts oauth_helper.header.class
    env[:request_headers].merge!(AUTH_HEADER => oauth_helper.header)
  end

  env[:url].query = build_query params

  @app.call env
end
query_params(url) click to toggle source
# File lib/bitbucket_rest_api/request/oauth.rb, line 41
def query_params(url)
  if url.query.nil? || url.query.empty?
    {}
  else
    parse_query url.query
  end
end