X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/7f556f94f1d479346cbefb5cbeec0a6a0b7b8547..2c837d896dfb324346578440d9376a7ea75d4f42:/app/controllers/application_controller.rb diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 3506b4196..ec2f381fc 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -3,7 +3,12 @@ class ApplicationController < ActionController::Base protect_from_forgery if STATUS == :database_readonly or STATUS == :database_offline - session :off + after_filter :clear_session + wrap_parameters false + + def clear_session + session.clear + end def self.cache_sweeper(*sweepers) end @@ -106,9 +111,7 @@ class ApplicationController < ActionController::Base # is optional. def setup_user_auth # try and setup using OAuth - if Authenticator.new(self, [:token]).allow? - @user = current_token.user - else + if not Authenticator.new(self, [:token]).allow? username, passwd = get_auth_data # parse from headers # authenticate per-scheme if username.nil? @@ -199,7 +202,7 @@ class ApplicationController < ActionController::Base request.headers['X-Error-Format'].downcase == "xml" result = OSM::API.new.get_xml_doc result.root.name = "osmError" - result.root << (XML::Node.new("status") << interpret_status(status)) + result.root << (XML::Node.new("status") << "#{Rack::Utils.status_code(status)} #{Rack::Utils::HTTP_STATUS_CODES[status]}") result.root << (XML::Node.new("message") << message) render :text => result.to_s, :content_type => "text/xml" @@ -358,6 +361,11 @@ private return [user, pass] end + # used by oauth plugin to set the current user + def current_user=(user) + @user=user + end + # override to stop oauth plugin sending errors def invalid_oauth_response end