Example #1
0
 /**
  * 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;
 }