Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/gallery.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Paroz <github@oparoz.com>2015-09-20 01:57:14 +0300
committerOlivier Paroz <github@oparoz.com>2015-09-20 01:57:14 +0300
commit2e6fcf036fdcc3199c2af5421b574238506c9277 (patch)
tree911e93949bd99d2ae1262034ccad1bbf794bab49 /controller
parentd94079992ec6ee48c4b22083ff099d849fe49725 (diff)
Replace session by cookie for error message
Follow up for #296
Diffstat (limited to 'controller')
-rw-r--r--controller/filesapicontroller.php1
-rw-r--r--controller/filescontroller.php5
-rw-r--r--controller/httperror.php10
-rw-r--r--controller/pagecontroller.php13
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;
}