/** * @param string $redirectUrl - The URL to redirect to * @param int $responseCode - The response code (defaults to 302 - Found) */ public function __construct($redirectUrl, $responseCode = 302) { // set up the regular response object parent::__construct('', $responseCode); // Set the redirection URL $this->setRedirectToURL($redirectUrl); }
/** * Redirect to a specific URL (not a named route) * Ideally should be a fully qualified URl (http://blar.com/etc.htm), but a relative URL * is also OK (/etc.htm) as we add the current requests http host to it first. * @param $url * @param \snb\http\Response $response * @return \snb\http\Response */ public function redirectUrlResponse($url, Response $response = null) { // create a response, if one wasn't provided if ($response == null) { $response = new Response(); } // If the URL appears to be a relative URL (/some/path/test.png) if (preg_match('%^/[^/]%iu', $url) == 1) { // Add in the protocol and host /* @var $request \snb\http\Request */ $request = $this->container->get('request'); if ($request) { $url = $request->getHttpHost() . $url; } } // finally, set the redirection $response->setRedirectToURL($url); return $response; }