class Nimbu::Request::OAuth2

Constants

ACCESS_TOKEN
AUTH_HEADER

Public Class Methods

new(app, *args) click to toggle source
Calls superclass method
# File lib/nimbu-api/request/oauth2.rb, line 26
def initialize(app, *args)
  super app
  @app = app
  @token = args.shift
end

Public Instance Methods

call(env) click to toggle source
# File lib/nimbu-api/request/oauth2.rb, line 15
def call(env)
  # Extract parameters from the query
  params = { ACCESS_TOKEN => @token }.update query_params(env[:url])

  if token = params[ACCESS_TOKEN] and !token.empty?
    env[:request_headers].merge!(AUTH_HEADER => "bearer #{token}")
  end

  @app.call env
end
query_params(url) click to toggle source
# File lib/nimbu-api/request/oauth2.rb, line 32
def query_params(url)
  if url.query.nil? or url.query.empty?
    {}
  else
    parse_query url.query
  end
end