Class: Gitlab::Sessions::StoreBuilder
- Inherits:
 - 
      Object
      
        
- Object
 - Gitlab::Sessions::StoreBuilder
 
 
- Defined in:
 - lib/gitlab/sessions/store_builder.rb
 
Instance Attribute Summary collapse
- 
  
    
      #cookie_key  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute cookie_key.
 - 
  
    
      #session_cookie_token_prefix  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute session_cookie_token_prefix.
 
Instance Method Summary collapse
- 
  
    
      #initialize(cookie_key, session_cookie_token_prefix)  ⇒ StoreBuilder 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of StoreBuilder.
 - #prepare ⇒ Object
 
Constructor Details
#initialize(cookie_key, session_cookie_token_prefix) ⇒ StoreBuilder
Returns a new instance of StoreBuilder.
      8 9 10 11  | 
    
      # File 'lib/gitlab/sessions/store_builder.rb', line 8 def initialize(, ) @cookie_key = @session_cookie_token_prefix = end  | 
  
Instance Attribute Details
#cookie_key ⇒ Object (readonly)
Returns the value of attribute cookie_key.
      6 7 8  | 
    
      # File 'lib/gitlab/sessions/store_builder.rb', line 6 def @cookie_key end  | 
  
#session_cookie_token_prefix ⇒ Object (readonly)
Returns the value of attribute session_cookie_token_prefix.
      6 7 8  | 
    
      # File 'lib/gitlab/sessions/store_builder.rb', line 6 def @session_cookie_token_prefix end  | 
  
Instance Method Details
#prepare ⇒ Object
      13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34  | 
    
      # File 'lib/gitlab/sessions/store_builder.rb', line 13 def prepare # Set expiry to very large number (practically permanent) instead of the default 1 week # as some specs rely on time travel to a distant past or future. Settings.gitlab['session_expire_delay'] = ::Gitlab::Database::MAX_INT_VALUE if Rails.env.test? [ ::Gitlab::Sessions::CacheStore, # Using the cookie_store would enable session replay attacks { cache: ActiveSupport::Cache::RedisCacheStore.new( namespace: Gitlab::Redis::Sessions::SESSION_NAMESPACE, redis: Gitlab::Redis::Sessions, expires_in: Settings.gitlab['session_expire_delay'] * 60, coder: Gitlab::Sessions::CacheStoreCoder ), key: , secure: Gitlab.config.gitlab.https, httponly: true, path: Rails.application.config.relative_url_root.presence || '/', session_cookie_token_prefix: } ] end  |