1 require "oauth/controllers/provider_controller"
 
   3 require "oauth/rack/oauth_filter"
 
   5 Rails.configuration.middleware.use OAuth::Rack::OAuthFilter
 
  10       value.to_s.gsub(OAuth::RESERVED_CHARACTERS) do |c|
 
  14       end.force_encoding(Encoding::US_ASCII)
 
  18       value.to_s.gsub(/%\h{2}/) do |c|
 
  20       end.force_encoding(Encoding::UTF_8)
 
  27         request.request_method
 
  34   module ProviderController
 
  35     def self.prepended(mod)
 
  37       mod.singleton_class.prepend(OpenStreetMap::ProviderController::ClassMethods)
 
  40     def render(options = {})
 
  41       text = options.delete(:text)
 
  43         super options.merge(:plain => text)
 
  44       elsif options.delete(:nothing)
 
  45         status = options.delete(:status) || :ok
 
  53       def included(controller)
 
  54         controller.class_eval do
 
  55           def self.before_filter(...)
 
  59           def self.skip_before_filter(...)
 
  60             skip_before_action(...)
 
  70     def oauth1_verify(request, options = {}, &block)
 
  71       signature = OAuth::Signature.build(request, options, &block)
 
  72       return false unless OauthNonce.remember(signature.request.nonce, signature.request.timestamp)
 
  74       value = signature.verify
 
  75       if request.ssl? && !value
 
  76         http_request = request.dup
 
  77         http_request.define_singleton_method(:scheme) { "http" }
 
  78         http_request.define_singleton_method(:port) { 80 }
 
  79         signature = OAuth::Signature.build(http_request, options, &block)
 
  80         value = signature.verify
 
  83     rescue OAuth::Signature::UnknownSignatureMethod
 
  89 OAuth::Controllers::ProviderController.prepend(OpenStreetMap::ProviderController)
 
  90 OAuth::Rack::OAuthFilter.prepend(OpenStreetMap::OAuthFilter)