class SafeCookies::Middleware
Constants
- COOKIE_NAME_REGEX
Public Class Methods
new(app)
click to toggle source
# File lib/safe_cookies.rb, line 30 def initialize(app) @app = app @config = SafeCookies.configuration or raise "Don't know what to do without configuration" end
Public Instance Methods
call(env)
click to toggle source
# File lib/safe_cookies.rb, line 35 def call(env) reset_instance_variables @request = Rack::Request.new(env) check_if_request_has_unknown_cookies # call the next middleware up the stack status, @headers, body = @app.call(env) cache_application_cookies_string enhance_application_cookies! store_application_cookie_names delete_cookies_on_bad_path if fix_cookie_paths? rewrite_request_cookies unless cookies_have_been_rewritten_before? [ status, @headers, body ] end
Private Instance Methods
log(error_message)
click to toggle source
# File lib/safe_cookies.rb, line 135 def log(error_message) message = '** [SafeCookies] ' message << error_message Rails.logger.error(message) if defined?(Rails) end
reset_instance_variables()
click to toggle source
Instance variables survive requests because the middleware is a singleton.
# File lib/safe_cookies.rb, line 57 def reset_instance_variables @request, @headers, @application_cookies_string = nil end