[FrameworkBundle] non-permanent redirect should be status code 404 according to spec
This commit is contained in:
parent
a1e6cfbe15
commit
4c5bfab058
@ -39,7 +39,7 @@ class RedirectController extends ContainerAware
|
|||||||
public function redirectAction($route, $permanent = false)
|
public function redirectAction($route, $permanent = false)
|
||||||
{
|
{
|
||||||
if (!$route) {
|
if (!$route) {
|
||||||
return new Response(null, 410);
|
return new Response(null, $permanent ? 410 : 404);
|
||||||
}
|
}
|
||||||
|
|
||||||
$attributes = $this->container->get('request')->attributes->get('_route_params');
|
$attributes = $this->container->get('request')->attributes->get('_route_params');
|
||||||
@ -67,7 +67,7 @@ class RedirectController extends ContainerAware
|
|||||||
public function urlRedirectAction($path, $permanent = false, $scheme = null, $httpPort = 80, $httpsPort = 443)
|
public function urlRedirectAction($path, $permanent = false, $scheme = null, $httpPort = 80, $httpsPort = 443)
|
||||||
{
|
{
|
||||||
if (!$path) {
|
if (!$path) {
|
||||||
return new Response(null, 410);
|
return new Response(null, $permanent ? 410 : 404);
|
||||||
}
|
}
|
||||||
|
|
||||||
$statusCode = $permanent ? 301 : 302;
|
$statusCode = $permanent ? 301 : 302;
|
||||||
|
@ -29,11 +29,13 @@ class RedirectControllerTest extends TestCase
|
|||||||
$controller = new RedirectController();
|
$controller = new RedirectController();
|
||||||
$controller->setContainer($container);
|
$controller->setContainer($container);
|
||||||
|
|
||||||
$returnResponse = $controller->redirectAction('');
|
$returnResponse = $controller->redirectAction('', true);
|
||||||
|
|
||||||
$this->assertInstanceOf('\Symfony\Component\HttpFoundation\Response', $returnResponse);
|
$this->assertInstanceOf('\Symfony\Component\HttpFoundation\Response', $returnResponse);
|
||||||
|
|
||||||
$this->assertEquals(410, $returnResponse->getStatusCode());
|
$this->assertEquals(410, $returnResponse->getStatusCode());
|
||||||
|
|
||||||
|
$returnResponse = $controller->redirectAction('', false);
|
||||||
|
$this->assertInstanceOf('\Symfony\Component\HttpFoundation\Response', $returnResponse);
|
||||||
|
$this->assertEquals(404, $returnResponse->getStatusCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -102,11 +104,14 @@ class RedirectControllerTest extends TestCase
|
|||||||
public function testEmptyPath()
|
public function testEmptyPath()
|
||||||
{
|
{
|
||||||
$controller = new RedirectController();
|
$controller = new RedirectController();
|
||||||
$returnResponse = $controller->urlRedirectAction('');
|
|
||||||
|
|
||||||
|
$returnResponse = $controller->urlRedirectAction('', true);
|
||||||
$this->assertInstanceOf('\Symfony\Component\HttpFoundation\Response', $returnResponse);
|
$this->assertInstanceOf('\Symfony\Component\HttpFoundation\Response', $returnResponse);
|
||||||
|
|
||||||
$this->assertEquals(410, $returnResponse->getStatusCode());
|
$this->assertEquals(410, $returnResponse->getStatusCode());
|
||||||
|
|
||||||
|
$returnResponse = $controller->urlRedirectAction('', false);
|
||||||
|
$this->assertInstanceOf('\Symfony\Component\HttpFoundation\Response', $returnResponse);
|
||||||
|
$this->assertEquals(404, $returnResponse->getStatusCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testFullURL()
|
public function testFullURL()
|
||||||
|
Reference in New Issue
Block a user