41 lines
		
	
	
		
			811 B
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			811 B
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| 
 | |
| namespace Drupal\Tests;
 | |
| 
 | |
| use Symfony\Component\HttpFoundation\Request;
 | |
| 
 | |
| /**
 | |
|  * Provides methods to generate and get session name in tests.
 | |
|  */
 | |
| trait SessionTestTrait {
 | |
| 
 | |
|   /**
 | |
|    * The name of the session cookie.
 | |
|    *
 | |
|    * @var string
 | |
|    */
 | |
|   protected $sessionName;
 | |
| 
 | |
|   /**
 | |
|    * Generates a session cookie name.
 | |
|    *
 | |
|    * @param string $data
 | |
|    *   The data to generate session name.
 | |
|    */
 | |
|   protected function generateSessionName($data) {
 | |
|     $prefix = (Request::createFromGlobals()->isSecure() ? 'SSESS' : 'SESS');
 | |
|     $this->sessionName = $prefix . substr(hash('sha256', $data), 0, 32);
 | |
|   }
 | |
| 
 | |
|   /**
 | |
|    * Returns the session name in use on the child site.
 | |
|    *
 | |
|    * @return string
 | |
|    *   The name of the session cookie.
 | |
|    */
 | |
|   protected function getSessionName() {
 | |
|     return $this->sessionName;
 | |
|   }
 | |
| 
 | |
| }
 |