Example #1
0
 function __construct(Application $app, Request $request, SessionHandler $handler = NULL, $priority = 20)
 {
     parent::__construct($request, $handler);
     $middlewareOptions = ['priority' => $priority, 'uri' => $request['REQUEST_URI'], 'method' => $request['REQUEST_METHOD']];
     $self = $this;
     $app->after(function ($request, $response) use($self) {
         if ($self->shouldSetCookie()) {
             $self->close();
             list($name, $value, $options) = $self->getCookieElements();
             $response->setRawCookie($name, $value, $options);
             $cacheControlHeader = $self->generateCacheControlHeader();
             $response->setHeader('Cache-Control', $cacheControlHeader);
         }
     }, $middlewareOptions);
 }
Example #2
0
 public function testCloseCallsInternalGarbageCollectionWithGarbageCollectionMaxLifeTime()
 {
     $garbageCollectionMaxLifeTime = 50;
     $requestMock = $this->getRequestMock();
     $fileSessionHandlerMock = $this->getBlackHoleFileSessionHandler();
     $fileSessionHandlerMock->expects($this->any())->method('gc')->with($this->equalTo($garbageCollectionMaxLifeTime))->will($this->returnValue(True));
     $session = new Session($requestMock, $fileSessionHandlerMock);
     $session->set('Foo', 'Bar');
     $session->setOption('gc_divisor', 1);
     // 100% chance of gc
     $session->setOption('gc_probability', 1);
     $session->setOption('gc_maxlifetime', 50);
     $session->open();
     $session->close();
 }