diff options
author | Olivier Paroz <github@oparoz.com> | 2015-09-20 01:57:14 +0300 |
---|---|---|
committer | Olivier Paroz <github@oparoz.com> | 2015-09-20 01:57:14 +0300 |
commit | 2e6fcf036fdcc3199c2af5421b574238506c9277 (patch) | |
tree | 911e93949bd99d2ae1262034ccad1bbf794bab49 /controller | |
parent | d94079992ec6ee48c4b22083ff099d849fe49725 (diff) |
Replace session by cookie for error message
Follow up for #296
Diffstat (limited to 'controller')
-rw-r--r-- | controller/filesapicontroller.php | 1 | ||||
-rw-r--r-- | controller/filescontroller.php | 5 | ||||
-rw-r--r-- | controller/httperror.php | 10 | ||||
-rw-r--r-- | controller/pagecontroller.php | 13 |
4 files changed, 13 insertions, 16 deletions
diff --git a/controller/filesapicontroller.php b/controller/filesapicontroller.php index 388f266b..53bbef64 100644 --- a/controller/filesapicontroller.php +++ b/controller/filesapicontroller.php @@ -123,6 +123,7 @@ class FilesApiController extends ApiController { $this->appName . '.page.error_page', ['code' => $code] ); + // Don't set a cookie for the error message, we don't want it in the API return new RedirectResponse($url); } diff --git a/controller/filescontroller.php b/controller/filescontroller.php index e69ab319..c64bc021 100644 --- a/controller/filescontroller.php +++ b/controller/filescontroller.php @@ -120,7 +120,10 @@ class FilesController extends Controller { $this->appName . '.page.error_page', ['code' => $code] ); - return new RedirectResponse($url); + $response = new RedirectResponse($url); + $response->addCookie('galleryErrorMessage', $exception->getMessage()); + + return $response; } return new ImageResponse($download); diff --git a/controller/httperror.php b/controller/httperror.php index b80deb92..a291f547 100644 --- a/controller/httperror.php +++ b/controller/httperror.php @@ -17,7 +17,6 @@ namespace OCA\Gallery\Controller; use Exception; use OCP\IURLGenerator; -use OCP\ISession; use OCP\AppFramework\Http; use OCP\AppFramework\Http\JSONResponse; @@ -54,22 +53,23 @@ trait HttpError { } /** - * @param ISession $session * @param IURLGenerator $urlGenerator * @param string $appName * @param \Exception $exception * * @return RedirectResponse */ - public function htmlError($session, $urlGenerator, $appName, Exception $exception) { + public function htmlError($urlGenerator, $appName, Exception $exception) { $message = $exception->getMessage(); $code = $this->getHttpStatusCode($exception); - $session->set('galleryErrorMessage', $message); $url = $urlGenerator->linkToRoute( $appName . '.page.error_page', ['code' => $code] ); - return new RedirectResponse($url); + $response = new RedirectResponse($url); + $response->addCookie('galleryErrorMessage', $message); + + return $response; } /** diff --git a/controller/pagecontroller.php b/controller/pagecontroller.php index ca9e074b..4cae4612 100644 --- a/controller/pagecontroller.php +++ b/controller/pagecontroller.php @@ -17,7 +17,6 @@ namespace OCA\Gallery\Controller; use OCP\IURLGenerator; use OCP\IRequest; use OCP\IConfig; -use OCP\ISession; use OCP\AppFramework\Controller; use OCP\AppFramework\Http; @@ -41,8 +40,6 @@ class PageController extends Controller { private $urlGenerator; /** @var IConfig */ private $appConfig; - /** @var ISession */ - private $session; /** * Constructor @@ -52,22 +49,19 @@ class PageController extends Controller { * @param Environment $environment * @param IURLGenerator $urlGenerator * @param IConfig $appConfig - * @param ISession $session */ public function __construct( $appName, IRequest $request, Environment $environment, IURLGenerator $urlGenerator, - IConfig $appConfig, - ISession $session + IConfig $appConfig ) { parent::__construct($appName, $request); $this->environment = $environment; $this->urlGenerator = $urlGenerator; $this->appConfig = $appConfig; - $this->session = $session; } /** @@ -130,7 +124,6 @@ class PageController extends Controller { * @PublicPage * @NoCSRFRequired * @Guest - * @UseSession * * Generates an error page based on the error code * @@ -140,8 +133,7 @@ class PageController extends Controller { */ public function errorPage($code) { $appName = $this->appName; - $message = $this->session->get('galleryErrorMessage'); - $this->session->remove('galleryErrorMessage'); + $message = $this->request->getCookie('galleryErrorMessage'); $params = [ 'appName' => $appName, 'message' => $message, @@ -150,6 +142,7 @@ class PageController extends Controller { $errorTemplate = new TemplateResponse($appName, 'index', $params, 'guest'); $errorTemplate->setStatus($code); + $errorTemplate->invalidateCookie('galleryErrorMessage'); return $errorTemplate; } |