Sha256: 5b3b67cecdeea15cf15cad0a6eafe06c11459e48ea448e7ff7cfd64c148da715

Contents?: true

Size: 1.37 KB

Versions: 20

Compression:

Stored size: 1.37 KB

Contents

require 'oauth/client/helper'
require 'oauth/request_proxy/action_controller_request'
require 'action_controller/test_process'

module ActionController
  class Base
    def process_with_oauth(request,response=nil)
      request.apply_oauth!
      process_without_oauth(request,response)
    end

    alias_method_chain :process, :oauth
  end

  class TestRequest
    def self.use_oauth=(bool)
      @use_oauth = bool
    end

    def self.use_oauth?
      @use_oauth 
    end

    def configure_oauth(consumer = nil, token = nil, options = {})
      @oauth_options = { :consumer => consumer,
                   :token => token,
                   :scheme => 'header',
                   :signature_method => nil,
                   :nonce => nil,
                   :timestamp => nil }.merge(options)
    end

    def apply_oauth!
      return unless ActionController::TestRequest.use_oauth? && @oauth_options
      @oauth_helper = OAuth::Client::Helper.new(self, @oauth_options.merge( { :request_uri => request_uri } ))

      self.send("set_oauth_#{@oauth_options[:scheme]}")
    end

    def set_oauth_header
      env['Authorization'] = @oauth_helper.header
    end

    def set_oauth_parameters
      @query_parameters = @oauth_helper.parameters_with_oauth
      @query_parameters.merge!( { :oauth_signature => @oauth_helper.signature } )
    end
    
    def set_oauth_query_string
    end
  end
end

Version data entries

20 entries across 20 versions & 6 rubygems

Version Path
monkeyhelper-oauth-0.3.1 lib/oauth/client/action_controller_request.rb
pelle-oauth-0.2.6 lib/oauth/client/action_controller_request.rb
pelle-oauth-0.2.7 lib/oauth/client/action_controller_request.rb
pelle-oauth-0.3.0 lib/oauth/client/action_controller_request.rb
pelle-oauth-0.3.1 lib/oauth/client/action_controller_request.rb
proletarian-oauth-0.3.2 lib/oauth/client/action_controller_request.rb
proletarian-oauth-0.3.3 lib/oauth/client/action_controller_request.rb
proletarian-oauth-0.3.4 lib/oauth/client/action_controller_request.rb
proletarian-oauth-0.3.5 lib/oauth/client/action_controller_request.rb
proletarian-oauth-0.3.6 lib/oauth/client/action_controller_request.rb
proletarian-oauth-0.3.7 lib/oauth/client/action_controller_request.rb
rares-oauth-0.2.7 lib/oauth/client/action_controller_request.rb
stmpjmpr-oauth-0.2.7 lib/oauth/client/action_controller_request.rb
oauth-0.2.1 lib/oauth/client/action_controller_request.rb
oauth-0.2.2 lib/oauth/client/action_controller_request.rb
oauth-0.2.4 lib/oauth/client/action_controller_request.rb
oauth-0.2.6 lib/oauth/client/action_controller_request.rb
oauth-0.3.1 lib/oauth/client/action_controller_request.rb
oauth-0.3.0 lib/oauth/client/action_controller_request.rb
oauth-0.2.7 lib/oauth/client/action_controller_request.rb