Sha256: e7c4219d7d48d522a2971987ceb7e8dfefa81bbfb701c8047bc426ce1f1a4c03

Contents?: true

Size: 1.45 KB

Versions: 19

Compression:

Stored size: 1.45 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))
      @oauth_helper.amend_user_agent_header(env)

      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

19 entries across 19 versions & 11 rubygems

Version Path
greut-oauth-0.3.6 lib/oauth/client/action_controller_request.rb
jwhitmire-oauth-0.3.6.1 lib/oauth/client/action_controller_request.rb
mojodna-oauth-0.3.3 lib/oauth/client/action_controller_request.rb
mojodna-oauth-0.3.4.1 lib/oauth/client/action_controller_request.rb
mojodna-oauth-0.3.4 lib/oauth/client/action_controller_request.rb
mojodna-oauth-0.3.5 lib/oauth/client/action_controller_request.rb
mojodna-oauth-0.3.6 lib/oauth/client/action_controller_request.rb
monkeyhelper-oauth-0.3.5 lib/oauth/client/action_controller_request.rb
mzsanford-oauth-0.3.2.2 lib/oauth/client/action_controller_request.rb
pelle-oauth-0.3.5 lib/oauth/client/action_controller_request.rb
pelle-oauth-0.3.6 lib/oauth/client/action_controller_request.rb
sporkd-oauth-0.3.6 lib/oauth/client/action_controller_request.rb
af-oauth-0.3.4.1 lib/oauth/client/action_controller_request.rb
gregwebs-oauth-0.3.6.1 lib/oauth/client/action_controller_request.rb
typhoauth-0.3.6.1 lib/oauth/client/action_controller_request.rb
oauth-0.3.6 lib/oauth/client/action_controller_request.rb
oauth-0.3.4 lib/oauth/client/action_controller_request.rb
oauth-0.3.5 lib/oauth/client/action_controller_request.rb
oauth-0.3.3 lib/oauth/client/action_controller_request.rb