Class: ActionDispatch::Cookies::EncryptedCookieJar
- Inherits:
-
Object
- Object
- ActionDispatch::Cookies::EncryptedCookieJar
- Includes:
- ChainedCookieJars
- Defined in:
- lib/action_dispatch/middleware/cookies.rb
Overview
:nodoc:
Direct Known Subclasses
Instance Method Summary collapse
- #[](name) ⇒ Object
- #[]=(name, options) ⇒ Object
-
#initialize(parent_jar, key_generator, options = {}) ⇒ EncryptedCookieJar
constructor
A new instance of EncryptedCookieJar.
Methods included from ChainedCookieJars
#encrypted, #permanent, #signed, #signed_or_encrypted
Constructor Details
#initialize(parent_jar, key_generator, options = {}) ⇒ EncryptedCookieJar
Returns a new instance of EncryptedCookieJar.
428 429 430 431 432 433 434 435 436 437 438 439 |
# File 'lib/action_dispatch/middleware/cookies.rb', line 428 def initialize(parent_jar, key_generator, = {}) if ActiveSupport::LegacyKeyGenerator === key_generator raise "You didn't set config.secret_key_base, which is required for this cookie jar. " + "Read the upgrade documentation to learn more about this new config option." end @parent_jar = parent_jar @options = secret = key_generator.generate_key(@options[:encrypted_cookie_salt]) sign_secret = key_generator.generate_key(@options[:encrypted_signed_cookie_salt]) @encryptor = ActiveSupport::MessageEncryptor.new(secret, sign_secret) end |
Instance Method Details
#[](name) ⇒ Object
441 442 443 444 445 |
# File 'lib/action_dispatch/middleware/cookies.rb', line 441 def [](name) if = @parent_jar[name] decrypt_and_verify() end end |
#[]=(name, options) ⇒ Object
447 448 449 450 451 452 453 454 455 456 457 |
# File 'lib/action_dispatch/middleware/cookies.rb', line 447 def []=(name, ) if .is_a?(Hash) .symbolize_keys! else = { :value => } end [:value] = @encryptor.encrypt_and_sign([:value]) raise CookieOverflow if [:value].size > MAX_COOKIE_SIZE @parent_jar[name] = end |