Example #1
0
 /**
  * @covers CodeCollab\Http\Request\Request::__construct
  * @covers CodeCollab\Http\Request\Request::processServerVariables
  * @covers CodeCollab\Http\Request\Request::server
  * @covers CodeCollab\Http\Request\Request::isEncrypted
  * @covers CodeCollab\Http\Request\Request::getBaseUrl
  */
 public function testGetBaseUrlNoSslNonStandardPort()
 {
     $request = new Request($this->createMock(Decryptor::class), array_merge($this->baseRequestData['server'], ['SERVER_PORT' => '8080']), $this->baseRequestData['get'], $this->baseRequestData['post'], $this->baseRequestData['files'], $this->baseRequestData['cookies'], $this->baseRequestData['input']);
     $this->assertSame('http://codecollab.com:8080', $request->getBaseUrl());
 }
Example #2
0
 /**
  * Handles the cookie login
  *
  * @param \CodeCollab\Http\Request\Request          $request  The request object
  * @param \CodeCollab\Authentication\Authentication $user     The authentication object
  *
  * @return \Symfony\Component\HttpFoundation\Response The HTTP response
  */
 public function doCookieLogin(Request $request, Authentication $user) : Response
 {
     // Hardcoded user info. Normally this would be retrieved from the database.
     // This contains a user with username + password of demo + demo.
     $userInfo = ['username' => 'demo', 'name' => 'Demo Demo', 'hash' => '$2y$14$hPOMx1/RiQHriUVLgst0mOiZj1CyE7ziXk9LNf3UgZxsNuST.xnpe'];
     if ($request->cookie('rememberme') !== 'enabled' || !$user->logInRememberMe($userInfo)) {
         $this->response->addCookie('rememberme', '', (new \DateTime())->sub(new \DateInterval('P30D')));
     } else {
         $this->response->addCookie('rememberme', '', (new \DateTime())->add(new \DateInterval('P30D')));
     }
     $this->response->setStatusCode(StatusCode::FOUND);
     $this->response->addHeader('Location', $request->getBaseUrl());
     return $this->response;
 }