X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/4d7c3db62c53dab2e68f854cf3d42f2e9a92fded..591abd435874b04a2dfaab68670a2ac86f780439:/config/initializers/session_store.rb diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb index 02548e803..a12284855 100644 --- a/config/initializers/session_store.rb +++ b/config/initializers/session_store.rb @@ -1,35 +1,7 @@ # Be sure to restart your server when you modify this file. -if defined?(MEMCACHE_SERVERS) - unless STATUS == :database_offline or STATUS == :database_readonly - module Rack - module Session - class Memcache - def get_session(env, sid) - with_lock(env, [nil, {}]) do - unless sid and session = @pool.get(sid) - if sid and s = ActiveRecord::SessionStore::SqlBypass.find_by_session_id(sid) - session = s.data - s.destroy - else - sid, session = generate_sid, {} - end - - unless /^STORED/ =~ @pool.add(sid, session) - raise "Session collision on '#{sid.inspect}'" - end - end - [sid, session] - end - end - end - end - end - end - - cache = MemCache.new(:namespace => "rails:session", :string_return_types => true) - - OpenStreetMap::Application.config.session_store :mem_cache_store, :cache => cache, :key => "_osm_session" +if Settings.key?(:memcache_servers) + Rails.application.config.session_store :mem_cache_store, :memcache_server => Settings.memcache_servers, :namespace => "rails:session", :key => "_osm_session" else - OpenStreetMap::Application.config.session_store :cache_store, :key => '_osm_session' + Rails.application.config.session_store :cache_store, :key => "_osm_session", :cache => ActiveSupport::Cache::MemoryStore.new end