/** * Redirects the web request to another uri. * * NOTE: This method only supports web requests and will throw an exception * if used with other request types. * * @param mixed $uri Either a string representation of a URI or a \TYPO3\Flow\Http\Uri object * @param integer $delay (optional) The delay in seconds. Default is no delay. * @param integer $statusCode (optional) The HTTP status code for the redirect. Default is "303 See Other" * @return void * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException * @api */ protected function redirectToUri($uri, $delay = 0, $statusCode = 303) { // the parent method throws the exception, but we need to act afterwards // thus the code in catch - it's the expected state try { parent::redirectToUri($uri, $delay, $statusCode); } catch (\TYPO3\CMS\Extbase\Mvc\Exception\StopActionException $exception) { if ($this->request->getFormat() === 'json') { $this->response->setContent(''); } throw $exception; } }