Use better default ports in urlRedirectAction

This commit is contained in:
Jonas Flodén 2012-11-19 20:08:12 +01:00
parent 64216f25a5
commit 64b54dc587

View File

@ -64,7 +64,7 @@ class RedirectController extends ContainerAware
* *
* @return Response A Response instance * @return Response A Response instance
*/ */
public function urlRedirectAction($path, $permanent = false, $scheme = null, $httpPort = 80, $httpsPort = 443) public function urlRedirectAction($path, $permanent = false, $scheme = null, $httpPort = null, $httpsPort = null)
{ {
if (!$path) { if (!$path) {
return new Response(null, 410); return new Response(null, 410);
@ -88,10 +88,28 @@ class RedirectController extends ContainerAware
} }
$port = ''; $port = '';
if ('http' === $scheme && 80 != $httpPort) { if ('http' === $scheme) {
$port = ':'.$httpPort; if ($httpPort == null) {
} elseif ('https' === $scheme && 443 != $httpsPort) { if ('http' === $request->getScheme()) {
$port = ':'.$httpsPort; $httpPort = $request->getPort();
} else {
$httpPort = $this->container->getParameter('request_listener.http_port');
}
}
if ($httpPort != null && $httpPort != 80) {
$port = ":$httpPort";
}
} else if ('https' === $scheme) {
if ($httpsPort == null) {
if ('https' === $request->getScheme()) {
$httpsPort = $request->getPort();
} else {
$httpsPort = $this->container->getParameter('request_listener.https_port');
}
}
if ($httpsPort != null && $httpsPort != 443) {
$port = ":$httpsPort";
}
} }
$url = $scheme.'://'.$request->getHost().$port.$request->getBaseUrl().$path.$qs; $url = $scheme.'://'.$request->getHost().$port.$request->getBaseUrl().$path.$qs;