Esempio n. 1
0
 public function testTo()
 {
     $mockery = Mockery::mock(\SessionHandlerInterface::class);
     $mockery->shouldReceive('write')->once()->with('session_id', serialize(['user' => ['id' => 317, 'name' => 'wandu']]));
     // nothing
     $mockery->shouldReceive('gc')->once();
     $factory = new SessionFactory($mockery, ['gc_frequency' => 1]);
     $cookieJar = new CookieJar();
     $factory->toCookieJar(new Session('session_id', ['user' => ['id' => 317, 'name' => 'wandu']]), $cookieJar);
     $this->assertEquals('session_id', $cookieJar->get('WdSessId'));
     // exists in setCookies
     $setCookies = iterator_to_array($cookieJar->getIterator());
     $this->assertInstanceOf(Cookie::class, $setCookies['WdSessId']);
 }
Esempio n. 2
0
 /**
  * {@inheritdoc}
  */
 public function __invoke(ServerRequestInterface $request, Closure $next)
 {
     $cookieJar = $this->cookieJarFactory->fromServerRequest($request);
     $session = $this->sessionFactory->fromCookieJar($cookieJar);
     $request = $request->withAttribute('cookie', $cookieJar)->withAttribute('session', $session);
     // run next
     try {
         $response = $next($request);
     } catch (HttpException $exception) {
         $response = $exception->getResponse();
         $this->sessionFactory->toCookieJar($session, $cookieJar);
         $exception->setResponse($this->cookieJarFactory->toResponse($cookieJar, $response));
         throw $exception;
     }
     $this->sessionFactory->toCookieJar($session, $cookieJar);
     return $this->cookieJarFactory->toResponse($cookieJar, $response);
 }