Merge branch '4.4' into 5.2
* 4.4: Switched to non-null defaults in exception constructors [Routing] fix conflict with param named class in attribute [Cache] fix setting items' metadata on commit()
This commit is contained in:
commit
3619ae8ea4
@ -61,7 +61,7 @@ class DelegatingLoader extends BaseDelegatingLoader
|
|||||||
// - this handles the case and prevents the second fatal error
|
// - this handles the case and prevents the second fatal error
|
||||||
// by triggering an exception beforehand.
|
// by triggering an exception beforehand.
|
||||||
|
|
||||||
throw new LoaderLoadException($resource, null, null, null, $type);
|
throw new LoaderLoadException($resource, null, 0, null, $type);
|
||||||
}
|
}
|
||||||
$this->loading = true;
|
$this->loading = true;
|
||||||
|
|
||||||
|
@ -110,6 +110,7 @@ abstract class AbstractTagAwareAdapter implements TagAwareAdapterInterface, TagA
|
|||||||
}
|
}
|
||||||
|
|
||||||
$byLifetime[$ttl][$getId($key)] = $value;
|
$byLifetime[$ttl][$getId($key)] = $value;
|
||||||
|
$item->metadata = $item->newMetadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $byLifetime;
|
return $byLifetime;
|
||||||
|
@ -83,6 +83,7 @@ class TagAwareAdapter implements TagAwareAdapterInterface, TagAwareCacheInterfac
|
|||||||
$tagsByKey = [];
|
$tagsByKey = [];
|
||||||
foreach ($deferred as $key => $item) {
|
foreach ($deferred as $key => $item) {
|
||||||
$tagsByKey[$key] = $item->newMetadata[CacheItem::METADATA_TAGS] ?? [];
|
$tagsByKey[$key] = $item->newMetadata[CacheItem::METADATA_TAGS] ?? [];
|
||||||
|
$item->metadata = $item->newMetadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $tagsByKey;
|
return $tagsByKey;
|
||||||
|
@ -13,7 +13,6 @@ namespace Symfony\Component\Cache\Tests\Adapter;
|
|||||||
|
|
||||||
use Psr\Cache\CacheItemPoolInterface;
|
use Psr\Cache\CacheItemPoolInterface;
|
||||||
use Symfony\Component\Cache\Adapter\FilesystemTagAwareAdapter;
|
use Symfony\Component\Cache\Adapter\FilesystemTagAwareAdapter;
|
||||||
use Symfony\Component\Cache\Tests\Traits\TagAwareTestTrait;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @group time-sensitive
|
* @group time-sensitive
|
||||||
|
@ -13,7 +13,6 @@ namespace Symfony\Component\Cache\Tests\Adapter;
|
|||||||
|
|
||||||
use Psr\Cache\CacheItemPoolInterface;
|
use Psr\Cache\CacheItemPoolInterface;
|
||||||
use Symfony\Component\Cache\Adapter\PdoAdapter;
|
use Symfony\Component\Cache\Adapter\PdoAdapter;
|
||||||
use Symfony\Component\Cache\Tests\Traits\PdoPruneableTrait;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @group time-sensitive
|
* @group time-sensitive
|
||||||
|
@ -17,7 +17,6 @@ use Doctrine\DBAL\DriverManager;
|
|||||||
use Doctrine\DBAL\Schema\Schema;
|
use Doctrine\DBAL\Schema\Schema;
|
||||||
use Psr\Cache\CacheItemPoolInterface;
|
use Psr\Cache\CacheItemPoolInterface;
|
||||||
use Symfony\Component\Cache\Adapter\PdoAdapter;
|
use Symfony\Component\Cache\Adapter\PdoAdapter;
|
||||||
use Symfony\Component\Cache\Tests\Traits\PdoPruneableTrait;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @group time-sensitive
|
* @group time-sensitive
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
* file that was distributed with this source code.
|
* file that was distributed with this source code.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace Symfony\Component\Cache\Tests\Traits;
|
namespace Symfony\Component\Cache\Tests\Adapter;
|
||||||
|
|
||||||
trait PdoPruneableTrait
|
trait PdoPruneableTrait
|
||||||
{
|
{
|
@ -13,7 +13,6 @@ namespace Symfony\Component\Cache\Tests\Adapter;
|
|||||||
|
|
||||||
use Psr\Cache\CacheItemPoolInterface;
|
use Psr\Cache\CacheItemPoolInterface;
|
||||||
use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter;
|
use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter;
|
||||||
use Symfony\Component\Cache\Tests\Traits\TagAwareTestTrait;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @group integration
|
* @group integration
|
||||||
|
@ -13,7 +13,6 @@ namespace Symfony\Component\Cache\Tests\Adapter;
|
|||||||
|
|
||||||
use Psr\Cache\CacheItemPoolInterface;
|
use Psr\Cache\CacheItemPoolInterface;
|
||||||
use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter;
|
use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter;
|
||||||
use Symfony\Component\Cache\Tests\Traits\TagAwareTestTrait;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @group integration
|
* @group integration
|
||||||
|
@ -13,7 +13,6 @@ namespace Symfony\Component\Cache\Tests\Adapter;
|
|||||||
|
|
||||||
use Psr\Cache\CacheItemPoolInterface;
|
use Psr\Cache\CacheItemPoolInterface;
|
||||||
use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter;
|
use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter;
|
||||||
use Symfony\Component\Cache\Tests\Traits\TagAwareTestTrait;
|
|
||||||
use Symfony\Component\Cache\Traits\RedisProxy;
|
use Symfony\Component\Cache\Traits\RedisProxy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -13,7 +13,6 @@ namespace Symfony\Component\Cache\Tests\Adapter;
|
|||||||
|
|
||||||
use Psr\Cache\CacheItemPoolInterface;
|
use Psr\Cache\CacheItemPoolInterface;
|
||||||
use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter;
|
use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter;
|
||||||
use Symfony\Component\Cache\Tests\Traits\TagAwareTestTrait;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @group integration
|
* @group integration
|
||||||
|
@ -13,7 +13,6 @@ namespace Symfony\Component\Cache\Tests\Adapter;
|
|||||||
|
|
||||||
use Psr\Cache\CacheItemPoolInterface;
|
use Psr\Cache\CacheItemPoolInterface;
|
||||||
use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter;
|
use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter;
|
||||||
use Symfony\Component\Cache\Tests\Traits\TagAwareTestTrait;
|
|
||||||
use Symfony\Component\Cache\Traits\RedisClusterProxy;
|
use Symfony\Component\Cache\Traits\RedisClusterProxy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,7 +19,6 @@ use Symfony\Component\Cache\Adapter\ArrayAdapter;
|
|||||||
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
|
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
|
||||||
use Symfony\Component\Cache\Adapter\TagAwareAdapter;
|
use Symfony\Component\Cache\Adapter\TagAwareAdapter;
|
||||||
use Symfony\Component\Cache\Tests\Fixtures\PrunableAdapter;
|
use Symfony\Component\Cache\Tests\Fixtures\PrunableAdapter;
|
||||||
use Symfony\Component\Cache\Tests\Traits\TagAwareTestTrait;
|
|
||||||
use Symfony\Component\Filesystem\Filesystem;
|
use Symfony\Component\Filesystem\Filesystem;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
* file that was distributed with this source code.
|
* file that was distributed with this source code.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace Symfony\Component\Cache\Tests\Traits;
|
namespace Symfony\Component\Cache\Tests\Adapter;
|
||||||
|
|
||||||
use Symfony\Component\Cache\CacheItem;
|
use Symfony\Component\Cache\CacheItem;
|
||||||
|
|
||||||
@ -136,7 +136,9 @@ trait TagAwareTestTrait
|
|||||||
$pool = $this->createCachePool();
|
$pool = $this->createCachePool();
|
||||||
|
|
||||||
$i = $pool->getItem('k');
|
$i = $pool->getItem('k');
|
||||||
|
$this->assertSame([], $i->getMetadata());
|
||||||
$pool->save($i->tag('foo'));
|
$pool->save($i->tag('foo'));
|
||||||
|
$this->assertSame(['foo' => 'foo'], $i->getMetadata()[CacheItem::METADATA_TAGS]);
|
||||||
|
|
||||||
$i = $pool->getItem('k');
|
$i = $pool->getItem('k');
|
||||||
$this->assertSame(['foo' => 'foo'], $i->getMetadata()[CacheItem::METADATA_TAGS]);
|
$this->assertSame(['foo' => 'foo'], $i->getMetadata()[CacheItem::METADATA_TAGS]);
|
@ -18,7 +18,7 @@ namespace Symfony\Component\Config\Exception;
|
|||||||
*/
|
*/
|
||||||
class FileLoaderImportCircularReferenceException extends LoaderLoadException
|
class FileLoaderImportCircularReferenceException extends LoaderLoadException
|
||||||
{
|
{
|
||||||
public function __construct(array $resources, int $code = null, \Throwable $previous = null)
|
public function __construct(array $resources, ?int $code = 0, \Throwable $previous = null)
|
||||||
{
|
{
|
||||||
$message = sprintf('Circular reference detected in "%s" ("%s" > "%s").', $this->varToString($resources[0]), implode('" > "', $resources), $resources[0]);
|
$message = sprintf('Circular reference detected in "%s" ("%s" > "%s").', $this->varToString($resources[0]), implode('" > "', $resources), $resources[0]);
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ class DelegatingLoader extends Loader
|
|||||||
public function load($resource, string $type = null)
|
public function load($resource, string $type = null)
|
||||||
{
|
{
|
||||||
if (false === $loader = $this->resolver->resolve($resource, $type)) {
|
if (false === $loader = $this->resolver->resolve($resource, $type)) {
|
||||||
throw new LoaderLoadException($resource, null, null, null, $type);
|
throw new LoaderLoadException($resource, null, 0, null, $type);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $loader->load($resource, $type);
|
return $loader->load($resource, $type);
|
||||||
|
@ -170,7 +170,7 @@ abstract class FileLoader extends Loader
|
|||||||
throw $e;
|
throw $e;
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new LoaderLoadException($resource, $sourceResource, null, $e, $type);
|
throw new LoaderLoadException($resource, $sourceResource, 0, $e, $type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ abstract class Loader implements LoaderInterface
|
|||||||
$loader = null === $this->resolver ? false : $this->resolver->resolve($resource, $type);
|
$loader = null === $this->resolver ? false : $this->resolver->resolve($resource, $type);
|
||||||
|
|
||||||
if (false === $loader) {
|
if (false === $loader) {
|
||||||
throw new LoaderLoadException($resource, null, null, null, $type);
|
throw new LoaderLoadException($resource, null, 0, null, $type);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $loader;
|
return $loader;
|
||||||
|
@ -24,13 +24,13 @@ class LoaderLoadExceptionTest extends TestCase
|
|||||||
|
|
||||||
public function testMessageCannotLoadResourceWithType()
|
public function testMessageCannotLoadResourceWithType()
|
||||||
{
|
{
|
||||||
$exception = new LoaderLoadException('resource', null, null, null, 'foobar');
|
$exception = new LoaderLoadException('resource', null, 0, null, 'foobar');
|
||||||
$this->assertEquals('Cannot load resource "resource". Make sure there is a loader supporting the "foobar" type.', $exception->getMessage());
|
$this->assertEquals('Cannot load resource "resource". Make sure there is a loader supporting the "foobar" type.', $exception->getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testMessageCannotLoadResourceWithAnnotationType()
|
public function testMessageCannotLoadResourceWithAnnotationType()
|
||||||
{
|
{
|
||||||
$exception = new LoaderLoadException('resource', null, null, null, 'annotation');
|
$exception = new LoaderLoadException('resource', null, 0, null, 'annotation');
|
||||||
$this->assertEquals('Cannot load resource "resource". Make sure annotations are installed and enabled.', $exception->getMessage());
|
$this->assertEquals('Cannot load resource "resource". Make sure annotations are installed and enabled.', $exception->getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ class LoaderLoadExceptionTest extends TestCase
|
|||||||
$exception = new LoaderLoadException(
|
$exception = new LoaderLoadException(
|
||||||
'resource',
|
'resource',
|
||||||
null,
|
null,
|
||||||
null,
|
0,
|
||||||
new \Exception('There was a previous error with an ending dot.')
|
new \Exception('There was a previous error with an ending dot.')
|
||||||
);
|
);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
@ -70,7 +70,7 @@ class LoaderLoadExceptionTest extends TestCase
|
|||||||
$exception = new LoaderLoadException(
|
$exception = new LoaderLoadException(
|
||||||
'resource',
|
'resource',
|
||||||
null,
|
null,
|
||||||
null,
|
0,
|
||||||
new \Exception('There was a previous error with no ending dot')
|
new \Exception('There was a previous error with no ending dot')
|
||||||
);
|
);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
@ -84,7 +84,7 @@ class LoaderLoadExceptionTest extends TestCase
|
|||||||
$exception = new LoaderLoadException(
|
$exception = new LoaderLoadException(
|
||||||
'@resource',
|
'@resource',
|
||||||
null,
|
null,
|
||||||
null,
|
0,
|
||||||
new \Exception('There was a previous error with an ending dot.')
|
new \Exception('There was a previous error with an ending dot.')
|
||||||
);
|
);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
|
@ -22,9 +22,9 @@ class CommandNotFoundException extends \InvalidArgumentException implements Exce
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $message Exception message to throw
|
* @param string $message Exception message to throw
|
||||||
* @param array $alternatives List of similar defined names
|
* @param string[] $alternatives List of similar defined names
|
||||||
* @param int $code Exception code
|
* @param int $code Exception code
|
||||||
* @param \Throwable $previous Previous exception used for the exception chaining
|
* @param \Throwable|null $previous Previous exception used for the exception chaining
|
||||||
*/
|
*/
|
||||||
public function __construct(string $message, array $alternatives = [], int $code = 0, \Throwable $previous = null)
|
public function __construct(string $message, array $alternatives = [], int $code = 0, \Throwable $previous = null)
|
||||||
{
|
{
|
||||||
@ -34,7 +34,7 @@ class CommandNotFoundException extends \InvalidArgumentException implements Exce
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return array A list of similar defined names
|
* @return string[] A list of similar defined names
|
||||||
*/
|
*/
|
||||||
public function getAlternatives()
|
public function getAlternatives()
|
||||||
{
|
{
|
||||||
|
@ -18,11 +18,11 @@ namespace Symfony\Component\HttpKernel\Exception;
|
|||||||
class AccessDeniedHttpException extends HttpException
|
class AccessDeniedHttpException extends HttpException
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param string $message The internal exception message
|
* @param string|null $message The internal exception message
|
||||||
* @param \Throwable $previous The previous exception
|
* @param \Throwable|null $previous The previous exception
|
||||||
* @param int $code The internal exception code
|
* @param int $code The internal exception code
|
||||||
*/
|
*/
|
||||||
public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = [])
|
public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = [])
|
||||||
{
|
{
|
||||||
parent::__construct(403, $message, $previous, $headers, $code);
|
parent::__construct(403, $message, $previous, $headers, $code);
|
||||||
}
|
}
|
||||||
|
@ -17,11 +17,11 @@ namespace Symfony\Component\HttpKernel\Exception;
|
|||||||
class BadRequestHttpException extends HttpException
|
class BadRequestHttpException extends HttpException
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param string $message The internal exception message
|
* @param string|null $message The internal exception message
|
||||||
* @param \Throwable $previous The previous exception
|
* @param \Throwable|null $previous The previous exception
|
||||||
* @param int $code The internal exception code
|
* @param int $code The internal exception code
|
||||||
*/
|
*/
|
||||||
public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = [])
|
public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = [])
|
||||||
{
|
{
|
||||||
parent::__construct(400, $message, $previous, $headers, $code);
|
parent::__construct(400, $message, $previous, $headers, $code);
|
||||||
}
|
}
|
||||||
|
@ -17,11 +17,11 @@ namespace Symfony\Component\HttpKernel\Exception;
|
|||||||
class ConflictHttpException extends HttpException
|
class ConflictHttpException extends HttpException
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param string $message The internal exception message
|
* @param string|null $message The internal exception message
|
||||||
* @param \Throwable $previous The previous exception
|
* @param \Throwable|null $previous The previous exception
|
||||||
* @param int $code The internal exception code
|
* @param int $code The internal exception code
|
||||||
*/
|
*/
|
||||||
public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = [])
|
public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = [])
|
||||||
{
|
{
|
||||||
parent::__construct(409, $message, $previous, $headers, $code);
|
parent::__construct(409, $message, $previous, $headers, $code);
|
||||||
}
|
}
|
||||||
|
@ -17,11 +17,11 @@ namespace Symfony\Component\HttpKernel\Exception;
|
|||||||
class GoneHttpException extends HttpException
|
class GoneHttpException extends HttpException
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param string $message The internal exception message
|
* @param string|null $message The internal exception message
|
||||||
* @param \Throwable $previous The previous exception
|
* @param \Throwable|null $previous The previous exception
|
||||||
* @param int $code The internal exception code
|
* @param int $code The internal exception code
|
||||||
*/
|
*/
|
||||||
public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = [])
|
public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = [])
|
||||||
{
|
{
|
||||||
parent::__construct(410, $message, $previous, $headers, $code);
|
parent::__construct(410, $message, $previous, $headers, $code);
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ class HttpException extends \RuntimeException implements HttpExceptionInterface
|
|||||||
private $statusCode;
|
private $statusCode;
|
||||||
private $headers;
|
private $headers;
|
||||||
|
|
||||||
public function __construct(int $statusCode, string $message = null, \Throwable $previous = null, array $headers = [], ?int $code = 0)
|
public function __construct(int $statusCode, ?string $message = '', \Throwable $previous = null, array $headers = [], ?int $code = 0)
|
||||||
{
|
{
|
||||||
$this->statusCode = $statusCode;
|
$this->statusCode = $statusCode;
|
||||||
$this->headers = $headers;
|
$this->headers = $headers;
|
||||||
|
@ -17,11 +17,11 @@ namespace Symfony\Component\HttpKernel\Exception;
|
|||||||
class LengthRequiredHttpException extends HttpException
|
class LengthRequiredHttpException extends HttpException
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param string $message The internal exception message
|
* @param string|null $message The internal exception message
|
||||||
* @param \Throwable $previous The previous exception
|
* @param \Throwable|null $previous The previous exception
|
||||||
* @param int $code The internal exception code
|
* @param int $code The internal exception code
|
||||||
*/
|
*/
|
||||||
public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = [])
|
public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = [])
|
||||||
{
|
{
|
||||||
parent::__construct(411, $message, $previous, $headers, $code);
|
parent::__construct(411, $message, $previous, $headers, $code);
|
||||||
}
|
}
|
||||||
|
@ -17,12 +17,12 @@ namespace Symfony\Component\HttpKernel\Exception;
|
|||||||
class MethodNotAllowedHttpException extends HttpException
|
class MethodNotAllowedHttpException extends HttpException
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param array $allow An array of allowed methods
|
* @param string[] $allow An array of allowed methods
|
||||||
* @param string $message The internal exception message
|
* @param string|null $message The internal exception message
|
||||||
* @param \Throwable $previous The previous exception
|
* @param \Throwable|null $previous The previous exception
|
||||||
* @param int $code The internal exception code
|
* @param int|null $code The internal exception code
|
||||||
*/
|
*/
|
||||||
public function __construct(array $allow, string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
public function __construct(array $allow, ?string $message = '', \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
||||||
{
|
{
|
||||||
$headers['Allow'] = strtoupper(implode(', ', $allow));
|
$headers['Allow'] = strtoupper(implode(', ', $allow));
|
||||||
|
|
||||||
|
@ -17,11 +17,11 @@ namespace Symfony\Component\HttpKernel\Exception;
|
|||||||
class NotAcceptableHttpException extends HttpException
|
class NotAcceptableHttpException extends HttpException
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param string $message The internal exception message
|
* @param string|null $message The internal exception message
|
||||||
* @param \Throwable $previous The previous exception
|
* @param \Throwable|null $previous The previous exception
|
||||||
* @param int $code The internal exception code
|
* @param int $code The internal exception code
|
||||||
*/
|
*/
|
||||||
public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = [])
|
public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = [])
|
||||||
{
|
{
|
||||||
parent::__construct(406, $message, $previous, $headers, $code);
|
parent::__construct(406, $message, $previous, $headers, $code);
|
||||||
}
|
}
|
||||||
|
@ -17,11 +17,11 @@ namespace Symfony\Component\HttpKernel\Exception;
|
|||||||
class NotFoundHttpException extends HttpException
|
class NotFoundHttpException extends HttpException
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param string $message The internal exception message
|
* @param string|null $message The internal exception message
|
||||||
* @param \Throwable $previous The previous exception
|
* @param \Throwable|null $previous The previous exception
|
||||||
* @param int $code The internal exception code
|
* @param int $code The internal exception code
|
||||||
*/
|
*/
|
||||||
public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = [])
|
public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = [])
|
||||||
{
|
{
|
||||||
parent::__construct(404, $message, $previous, $headers, $code);
|
parent::__construct(404, $message, $previous, $headers, $code);
|
||||||
}
|
}
|
||||||
|
@ -17,11 +17,11 @@ namespace Symfony\Component\HttpKernel\Exception;
|
|||||||
class PreconditionFailedHttpException extends HttpException
|
class PreconditionFailedHttpException extends HttpException
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param string $message The internal exception message
|
* @param string|null $message The internal exception message
|
||||||
* @param \Throwable $previous The previous exception
|
* @param \Throwable|null $previous The previous exception
|
||||||
* @param int $code The internal exception code
|
* @param int $code The internal exception code
|
||||||
*/
|
*/
|
||||||
public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = [])
|
public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = [])
|
||||||
{
|
{
|
||||||
parent::__construct(412, $message, $previous, $headers, $code);
|
parent::__construct(412, $message, $previous, $headers, $code);
|
||||||
}
|
}
|
||||||
|
@ -19,11 +19,11 @@ namespace Symfony\Component\HttpKernel\Exception;
|
|||||||
class PreconditionRequiredHttpException extends HttpException
|
class PreconditionRequiredHttpException extends HttpException
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param string $message The internal exception message
|
* @param string|null $message The internal exception message
|
||||||
* @param \Throwable $previous The previous exception
|
* @param \Throwable|null $previous The previous exception
|
||||||
* @param int $code The internal exception code
|
* @param int $code The internal exception code
|
||||||
*/
|
*/
|
||||||
public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = [])
|
public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = [])
|
||||||
{
|
{
|
||||||
parent::__construct(428, $message, $previous, $headers, $code);
|
parent::__construct(428, $message, $previous, $headers, $code);
|
||||||
}
|
}
|
||||||
|
@ -17,12 +17,12 @@ namespace Symfony\Component\HttpKernel\Exception;
|
|||||||
class ServiceUnavailableHttpException extends HttpException
|
class ServiceUnavailableHttpException extends HttpException
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param int|string $retryAfter The number of seconds or HTTP-date after which the request may be retried
|
* @param int|string|null $retryAfter The number of seconds or HTTP-date after which the request may be retried
|
||||||
* @param string $message The internal exception message
|
* @param string|null $message The internal exception message
|
||||||
* @param \Throwable $previous The previous exception
|
* @param \Throwable|null $previous The previous exception
|
||||||
* @param int $code The internal exception code
|
* @param int|null $code The internal exception code
|
||||||
*/
|
*/
|
||||||
public function __construct($retryAfter = null, string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
public function __construct($retryAfter = null, ?string $message = '', \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
||||||
{
|
{
|
||||||
if ($retryAfter) {
|
if ($retryAfter) {
|
||||||
$headers['Retry-After'] = $retryAfter;
|
$headers['Retry-After'] = $retryAfter;
|
||||||
|
@ -19,12 +19,12 @@ namespace Symfony\Component\HttpKernel\Exception;
|
|||||||
class TooManyRequestsHttpException extends HttpException
|
class TooManyRequestsHttpException extends HttpException
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param int|string $retryAfter The number of seconds or HTTP-date after which the request may be retried
|
* @param int|string|null $retryAfter The number of seconds or HTTP-date after which the request may be retried
|
||||||
* @param string $message The internal exception message
|
* @param string|null $message The internal exception message
|
||||||
* @param \Throwable $previous The previous exception
|
* @param \Throwable|null $previous The previous exception
|
||||||
* @param int $code The internal exception code
|
* @param int|null $code The internal exception code
|
||||||
*/
|
*/
|
||||||
public function __construct($retryAfter = null, string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
public function __construct($retryAfter = null, ?string $message = '', \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
||||||
{
|
{
|
||||||
if ($retryAfter) {
|
if ($retryAfter) {
|
||||||
$headers['Retry-After'] = $retryAfter;
|
$headers['Retry-After'] = $retryAfter;
|
||||||
|
@ -18,11 +18,11 @@ class UnauthorizedHttpException extends HttpException
|
|||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param string $challenge WWW-Authenticate challenge string
|
* @param string $challenge WWW-Authenticate challenge string
|
||||||
* @param string $message The internal exception message
|
* @param string|null $message The internal exception message
|
||||||
* @param \Throwable $previous The previous exception
|
* @param \Throwable|null $previous The previous exception
|
||||||
* @param int $code The internal exception code
|
* @param int|null $code The internal exception code
|
||||||
*/
|
*/
|
||||||
public function __construct(string $challenge, string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
public function __construct(string $challenge, ?string $message = '', \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
||||||
{
|
{
|
||||||
$headers['WWW-Authenticate'] = $challenge;
|
$headers['WWW-Authenticate'] = $challenge;
|
||||||
|
|
||||||
|
@ -17,11 +17,11 @@ namespace Symfony\Component\HttpKernel\Exception;
|
|||||||
class UnprocessableEntityHttpException extends HttpException
|
class UnprocessableEntityHttpException extends HttpException
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param string $message The internal exception message
|
* @param string|null $message The internal exception message
|
||||||
* @param \Throwable $previous The previous exception
|
* @param \Throwable|null $previous The previous exception
|
||||||
* @param int $code The internal exception code
|
* @param int $code The internal exception code
|
||||||
*/
|
*/
|
||||||
public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = [])
|
public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = [])
|
||||||
{
|
{
|
||||||
parent::__construct(422, $message, $previous, $headers, $code);
|
parent::__construct(422, $message, $previous, $headers, $code);
|
||||||
}
|
}
|
||||||
|
@ -17,11 +17,11 @@ namespace Symfony\Component\HttpKernel\Exception;
|
|||||||
class UnsupportedMediaTypeHttpException extends HttpException
|
class UnsupportedMediaTypeHttpException extends HttpException
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param string $message The internal exception message
|
* @param string|null $message The internal exception message
|
||||||
* @param \Throwable $previous The previous exception
|
* @param \Throwable|null $previous The previous exception
|
||||||
* @param int $code The internal exception code
|
* @param int $code The internal exception code
|
||||||
*/
|
*/
|
||||||
public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = [])
|
public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = [])
|
||||||
{
|
{
|
||||||
parent::__construct(415, $message, $previous, $headers, $code);
|
parent::__construct(415, $message, $previous, $headers, $code);
|
||||||
}
|
}
|
||||||
|
@ -3,10 +3,11 @@
|
|||||||
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
||||||
|
|
||||||
use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
|
use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
|
||||||
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||||
|
|
||||||
class AccessDeniedHttpExceptionTest extends HttpExceptionTest
|
class AccessDeniedHttpExceptionTest extends HttpExceptionTest
|
||||||
{
|
{
|
||||||
protected function createException(string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException
|
||||||
{
|
{
|
||||||
return new AccessDeniedHttpException($message, $previous, $code, $headers);
|
return new AccessDeniedHttpException($message, $previous, $code, $headers);
|
||||||
}
|
}
|
||||||
|
@ -3,10 +3,11 @@
|
|||||||
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
||||||
|
|
||||||
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
|
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
|
||||||
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||||
|
|
||||||
class BadRequestHttpExceptionTest extends HttpExceptionTest
|
class BadRequestHttpExceptionTest extends HttpExceptionTest
|
||||||
{
|
{
|
||||||
protected function createException(string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException
|
||||||
{
|
{
|
||||||
return new BadRequestHttpException($message, $previous, $code, $headers);
|
return new BadRequestHttpException($message, $previous, $code, $headers);
|
||||||
}
|
}
|
||||||
|
@ -3,10 +3,11 @@
|
|||||||
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
||||||
|
|
||||||
use Symfony\Component\HttpKernel\Exception\ConflictHttpException;
|
use Symfony\Component\HttpKernel\Exception\ConflictHttpException;
|
||||||
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||||
|
|
||||||
class ConflictHttpExceptionTest extends HttpExceptionTest
|
class ConflictHttpExceptionTest extends HttpExceptionTest
|
||||||
{
|
{
|
||||||
protected function createException(string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException
|
||||||
{
|
{
|
||||||
return new ConflictHttpException($message, $previous, $code, $headers);
|
return new ConflictHttpException($message, $previous, $code, $headers);
|
||||||
}
|
}
|
||||||
|
@ -3,10 +3,11 @@
|
|||||||
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
||||||
|
|
||||||
use Symfony\Component\HttpKernel\Exception\GoneHttpException;
|
use Symfony\Component\HttpKernel\Exception\GoneHttpException;
|
||||||
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||||
|
|
||||||
class GoneHttpExceptionTest extends HttpExceptionTest
|
class GoneHttpExceptionTest extends HttpExceptionTest
|
||||||
{
|
{
|
||||||
protected function createException(string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException
|
||||||
{
|
{
|
||||||
return new GoneHttpException($message, $previous, $code, $headers);
|
return new GoneHttpException($message, $previous, $code, $headers);
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ class HttpExceptionTest extends TestCase
|
|||||||
*/
|
*/
|
||||||
public function testHeadersConstructor($headers)
|
public function testHeadersConstructor($headers)
|
||||||
{
|
{
|
||||||
$exception = new HttpException(200, null, null, $headers);
|
$exception = new HttpException(200, '', null, $headers);
|
||||||
$this->assertSame($headers, $exception->getHeaders());
|
$this->assertSame($headers, $exception->getHeaders());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,11 +50,11 @@ class HttpExceptionTest extends TestCase
|
|||||||
{
|
{
|
||||||
$previous = new class('Error of PHP 7+') extends \Error {
|
$previous = new class('Error of PHP 7+') extends \Error {
|
||||||
};
|
};
|
||||||
$exception = $this->createException(null, $previous);
|
$exception = $this->createException('', $previous);
|
||||||
$this->assertSame($previous, $exception->getPrevious());
|
$this->assertSame($previous, $exception->getPrevious());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function createException(string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException
|
||||||
{
|
{
|
||||||
return new HttpException(200, $message, $previous, $headers, $code);
|
return new HttpException(200, $message, $previous, $headers, $code);
|
||||||
}
|
}
|
||||||
|
@ -2,11 +2,12 @@
|
|||||||
|
|
||||||
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||||
use Symfony\Component\HttpKernel\Exception\LengthRequiredHttpException;
|
use Symfony\Component\HttpKernel\Exception\LengthRequiredHttpException;
|
||||||
|
|
||||||
class LengthRequiredHttpExceptionTest extends HttpExceptionTest
|
class LengthRequiredHttpExceptionTest extends HttpExceptionTest
|
||||||
{
|
{
|
||||||
protected function createException(string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException
|
||||||
{
|
{
|
||||||
return new LengthRequiredHttpException($message, $previous, $code, $headers);
|
return new LengthRequiredHttpException($message, $previous, $code, $headers);
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||||
use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;
|
use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;
|
||||||
|
|
||||||
class MethodNotAllowedHttpExceptionTest extends HttpExceptionTest
|
class MethodNotAllowedHttpExceptionTest extends HttpExceptionTest
|
||||||
@ -18,7 +19,7 @@ class MethodNotAllowedHttpExceptionTest extends HttpExceptionTest
|
|||||||
'Cache-Control' => 'public, s-maxage=1200',
|
'Cache-Control' => 'public, s-maxage=1200',
|
||||||
];
|
];
|
||||||
|
|
||||||
$exception = new MethodNotAllowedHttpException(['get'], null, null, null, $headers);
|
$exception = new MethodNotAllowedHttpException(['get'], '', null, 0, $headers);
|
||||||
|
|
||||||
$headers['Allow'] = 'GET';
|
$headers['Allow'] = 'GET';
|
||||||
|
|
||||||
@ -35,7 +36,7 @@ class MethodNotAllowedHttpExceptionTest extends HttpExceptionTest
|
|||||||
$this->assertSame($headers, $exception->getHeaders());
|
$this->assertSame($headers, $exception->getHeaders());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function createException(string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException
|
||||||
{
|
{
|
||||||
return new MethodNotAllowedHttpException(['get'], $message, $previous, $code, $headers);
|
return new MethodNotAllowedHttpException(['get'], $message, $previous, $code, $headers);
|
||||||
}
|
}
|
||||||
|
@ -2,11 +2,12 @@
|
|||||||
|
|
||||||
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||||
use Symfony\Component\HttpKernel\Exception\NotAcceptableHttpException;
|
use Symfony\Component\HttpKernel\Exception\NotAcceptableHttpException;
|
||||||
|
|
||||||
class NotAcceptableHttpExceptionTest extends HttpExceptionTest
|
class NotAcceptableHttpExceptionTest extends HttpExceptionTest
|
||||||
{
|
{
|
||||||
protected function createException(string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException
|
||||||
{
|
{
|
||||||
return new NotAcceptableHttpException($message, $previous, $code, $headers);
|
return new NotAcceptableHttpException($message, $previous, $code, $headers);
|
||||||
}
|
}
|
||||||
|
@ -2,11 +2,12 @@
|
|||||||
|
|
||||||
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||||
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||||
|
|
||||||
class NotFoundHttpExceptionTest extends HttpExceptionTest
|
class NotFoundHttpExceptionTest extends HttpExceptionTest
|
||||||
{
|
{
|
||||||
protected function createException(string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException
|
||||||
{
|
{
|
||||||
return new NotFoundHttpException($message, $previous, $code, $headers);
|
return new NotFoundHttpException($message, $previous, $code, $headers);
|
||||||
}
|
}
|
||||||
|
@ -2,11 +2,12 @@
|
|||||||
|
|
||||||
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||||
use Symfony\Component\HttpKernel\Exception\PreconditionFailedHttpException;
|
use Symfony\Component\HttpKernel\Exception\PreconditionFailedHttpException;
|
||||||
|
|
||||||
class PreconditionFailedHttpExceptionTest extends HttpExceptionTest
|
class PreconditionFailedHttpExceptionTest extends HttpExceptionTest
|
||||||
{
|
{
|
||||||
protected function createException(string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException
|
||||||
{
|
{
|
||||||
return new PreconditionFailedHttpException($message, $previous, $code, $headers);
|
return new PreconditionFailedHttpException($message, $previous, $code, $headers);
|
||||||
}
|
}
|
||||||
|
@ -2,11 +2,12 @@
|
|||||||
|
|
||||||
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||||
use Symfony\Component\HttpKernel\Exception\PreconditionRequiredHttpException;
|
use Symfony\Component\HttpKernel\Exception\PreconditionRequiredHttpException;
|
||||||
|
|
||||||
class PreconditionRequiredHttpExceptionTest extends HttpExceptionTest
|
class PreconditionRequiredHttpExceptionTest extends HttpExceptionTest
|
||||||
{
|
{
|
||||||
protected function createException(string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException
|
||||||
{
|
{
|
||||||
return new PreconditionRequiredHttpException($message, $previous, $code, $headers);
|
return new PreconditionRequiredHttpException($message, $previous, $code, $headers);
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||||
use Symfony\Component\HttpKernel\Exception\ServiceUnavailableHttpException;
|
use Symfony\Component\HttpKernel\Exception\ServiceUnavailableHttpException;
|
||||||
|
|
||||||
class ServiceUnavailableHttpExceptionTest extends HttpExceptionTest
|
class ServiceUnavailableHttpExceptionTest extends HttpExceptionTest
|
||||||
@ -18,7 +19,7 @@ class ServiceUnavailableHttpExceptionTest extends HttpExceptionTest
|
|||||||
'Cache-Control' => 'public, s-maxage=1337',
|
'Cache-Control' => 'public, s-maxage=1337',
|
||||||
];
|
];
|
||||||
|
|
||||||
$exception = new ServiceUnavailableHttpException(1337, null, null, null, $headers);
|
$exception = new ServiceUnavailableHttpException(1337, '', null, 0, $headers);
|
||||||
|
|
||||||
$headers['Retry-After'] = 1337;
|
$headers['Retry-After'] = 1337;
|
||||||
|
|
||||||
@ -35,7 +36,7 @@ class ServiceUnavailableHttpExceptionTest extends HttpExceptionTest
|
|||||||
$this->assertSame($headers, $exception->getHeaders());
|
$this->assertSame($headers, $exception->getHeaders());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function createException(string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException
|
||||||
{
|
{
|
||||||
return new ServiceUnavailableHttpException(null, $message, $previous, $code, $headers);
|
return new ServiceUnavailableHttpException(null, $message, $previous, $code, $headers);
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||||
use Symfony\Component\HttpKernel\Exception\TooManyRequestsHttpException;
|
use Symfony\Component\HttpKernel\Exception\TooManyRequestsHttpException;
|
||||||
|
|
||||||
class TooManyRequestsHttpExceptionTest extends HttpExceptionTest
|
class TooManyRequestsHttpExceptionTest extends HttpExceptionTest
|
||||||
@ -18,7 +19,7 @@ class TooManyRequestsHttpExceptionTest extends HttpExceptionTest
|
|||||||
'Cache-Control' => 'public, s-maxage=69',
|
'Cache-Control' => 'public, s-maxage=69',
|
||||||
];
|
];
|
||||||
|
|
||||||
$exception = new TooManyRequestsHttpException(69, null, null, null, $headers);
|
$exception = new TooManyRequestsHttpException(69, '', null, 0, $headers);
|
||||||
|
|
||||||
$headers['Retry-After'] = 69;
|
$headers['Retry-After'] = 69;
|
||||||
|
|
||||||
@ -35,7 +36,7 @@ class TooManyRequestsHttpExceptionTest extends HttpExceptionTest
|
|||||||
$this->assertSame($headers, $exception->getHeaders());
|
$this->assertSame($headers, $exception->getHeaders());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function createException(string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException
|
||||||
{
|
{
|
||||||
return new TooManyRequestsHttpException(null, $message, $previous, $code, $headers);
|
return new TooManyRequestsHttpException(null, $message, $previous, $code, $headers);
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||||
use Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException;
|
use Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException;
|
||||||
|
|
||||||
class UnauthorizedHttpExceptionTest extends HttpExceptionTest
|
class UnauthorizedHttpExceptionTest extends HttpExceptionTest
|
||||||
@ -18,7 +19,7 @@ class UnauthorizedHttpExceptionTest extends HttpExceptionTest
|
|||||||
'Cache-Control' => 'public, s-maxage=1200',
|
'Cache-Control' => 'public, s-maxage=1200',
|
||||||
];
|
];
|
||||||
|
|
||||||
$exception = new UnauthorizedHttpException('Challenge', null, null, null, $headers);
|
$exception = new UnauthorizedHttpException('Challenge', '', null, 0, $headers);
|
||||||
|
|
||||||
$headers['WWW-Authenticate'] = 'Challenge';
|
$headers['WWW-Authenticate'] = 'Challenge';
|
||||||
|
|
||||||
@ -35,7 +36,7 @@ class UnauthorizedHttpExceptionTest extends HttpExceptionTest
|
|||||||
$this->assertSame($headers, $exception->getHeaders());
|
$this->assertSame($headers, $exception->getHeaders());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function createException(string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException
|
||||||
{
|
{
|
||||||
return new UnauthorizedHttpException('Challenge', $message, $previous, $code, $headers);
|
return new UnauthorizedHttpException('Challenge', $message, $previous, $code, $headers);
|
||||||
}
|
}
|
||||||
|
@ -2,11 +2,12 @@
|
|||||||
|
|
||||||
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||||
use Symfony\Component\HttpKernel\Exception\UnprocessableEntityHttpException;
|
use Symfony\Component\HttpKernel\Exception\UnprocessableEntityHttpException;
|
||||||
|
|
||||||
class UnprocessableEntityHttpExceptionTest extends HttpExceptionTest
|
class UnprocessableEntityHttpExceptionTest extends HttpExceptionTest
|
||||||
{
|
{
|
||||||
protected function createException(string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException
|
||||||
{
|
{
|
||||||
return new UnprocessableEntityHttpException($message, $previous, $code, $headers);
|
return new UnprocessableEntityHttpException($message, $previous, $code, $headers);
|
||||||
}
|
}
|
||||||
|
@ -2,11 +2,12 @@
|
|||||||
|
|
||||||
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
namespace Symfony\Component\HttpKernel\Tests\Exception;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||||
use Symfony\Component\HttpKernel\Exception\UnsupportedMediaTypeHttpException;
|
use Symfony\Component\HttpKernel\Exception\UnsupportedMediaTypeHttpException;
|
||||||
|
|
||||||
class UnsupportedMediaTypeHttpExceptionTest extends HttpExceptionTest
|
class UnsupportedMediaTypeHttpExceptionTest extends HttpExceptionTest
|
||||||
{
|
{
|
||||||
protected function createException(string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = [])
|
protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException
|
||||||
{
|
{
|
||||||
return new UnsupportedMediaTypeHttpException($message, $previous, $code, $headers);
|
return new UnsupportedMediaTypeHttpException($message, $previous, $code, $headers);
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ class HttpTransportException extends TransportException
|
|||||||
{
|
{
|
||||||
private $response;
|
private $response;
|
||||||
|
|
||||||
public function __construct(string $message = null, ResponseInterface $response, int $code = 0, \Throwable $previous = null)
|
public function __construct(?string $message, ResponseInterface $response, int $code = 0, \Throwable $previous = null)
|
||||||
{
|
{
|
||||||
parent::__construct($message, $code, $previous);
|
parent::__construct($message, $code, $previous);
|
||||||
|
|
||||||
|
@ -22,7 +22,10 @@ class MethodNotAllowedException extends \RuntimeException implements ExceptionIn
|
|||||||
{
|
{
|
||||||
protected $allowedMethods = [];
|
protected $allowedMethods = [];
|
||||||
|
|
||||||
public function __construct(array $allowedMethods, string $message = null, int $code = 0, \Throwable $previous = null)
|
/**
|
||||||
|
* @param string[] $allowedMethods
|
||||||
|
*/
|
||||||
|
public function __construct(array $allowedMethods, ?string $message = '', int $code = 0, \Throwable $previous = null)
|
||||||
{
|
{
|
||||||
$this->allowedMethods = array_map('strtoupper', $allowedMethods);
|
$this->allowedMethods = array_map('strtoupper', $allowedMethods);
|
||||||
|
|
||||||
@ -32,7 +35,7 @@ class MethodNotAllowedException extends \RuntimeException implements ExceptionIn
|
|||||||
/**
|
/**
|
||||||
* Gets the allowed HTTP methods.
|
* Gets the allowed HTTP methods.
|
||||||
*
|
*
|
||||||
* @return array
|
* @return string[]
|
||||||
*/
|
*/
|
||||||
public function getAllowedMethods()
|
public function getAllowedMethods()
|
||||||
{
|
{
|
||||||
|
@ -97,10 +97,8 @@ class AnnotationFileLoader extends FileLoader
|
|||||||
if (\defined('T_NAME_QUALIFIED')) {
|
if (\defined('T_NAME_QUALIFIED')) {
|
||||||
$nsTokens[\T_NAME_QUALIFIED] = true;
|
$nsTokens[\T_NAME_QUALIFIED] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
for ($i = 0; isset($tokens[$i]); ++$i) {
|
for ($i = 0; isset($tokens[$i]); ++$i) {
|
||||||
$token = $tokens[$i];
|
$token = $tokens[$i];
|
||||||
|
|
||||||
if (!isset($token[1])) {
|
if (!isset($token[1])) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -122,6 +120,9 @@ class AnnotationFileLoader extends FileLoader
|
|||||||
$skipClassToken = false;
|
$skipClassToken = false;
|
||||||
for ($j = $i - 1; $j > 0; --$j) {
|
for ($j = $i - 1; $j > 0; --$j) {
|
||||||
if (!isset($tokens[$j][1])) {
|
if (!isset($tokens[$j][1])) {
|
||||||
|
if ('(' === $tokens[$j] || ',' === $tokens[$j]) {
|
||||||
|
$skipClassToken = true;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -350,11 +350,11 @@ class RouteCollectionBuilder
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (null === $resolver = $this->loader->getResolver()) {
|
if (null === $resolver = $this->loader->getResolver()) {
|
||||||
throw new LoaderLoadException($resource, null, null, null, $type);
|
throw new LoaderLoadException($resource, null, 0, null, $type);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (false === $loader = $resolver->resolve($resource, $type)) {
|
if (false === $loader = $resolver->resolve($resource, $type)) {
|
||||||
throw new LoaderLoadException($resource, null, null, null, $type);
|
throw new LoaderLoadException($resource, null, 0, null, $type);
|
||||||
}
|
}
|
||||||
|
|
||||||
$collections = $loader->load($resource, $type);
|
$collections = $loader->load($resource, $type);
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Symfony\Component\Routing\Tests\Fixtures\Attributes;
|
||||||
|
|
||||||
|
#[\Attribute(\Attribute::TARGET_CLASS)]
|
||||||
|
class FooAttributes
|
||||||
|
{
|
||||||
|
public string $class;
|
||||||
|
public array $foo = [];
|
||||||
|
|
||||||
|
public function __construct(string $class, array $foo)
|
||||||
|
{
|
||||||
|
$this->class = $class;
|
||||||
|
$this->foo = $foo;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Symfony\Component\Routing\Tests\Fixtures\AttributesFixtures;
|
||||||
|
|
||||||
|
use Symfony\Component\Routing\Tests\Fixtures\Attributes\FooAttributes;
|
||||||
|
use Symfony\Component\Security\Core\User\User;
|
||||||
|
|
||||||
|
#[FooAttributes(
|
||||||
|
foo: [
|
||||||
|
'bar' => ['foo','bar'],
|
||||||
|
'foo'
|
||||||
|
],
|
||||||
|
class: User::class
|
||||||
|
)]
|
||||||
|
class AttributesClassParamAfterCommaController
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Symfony\Component\Routing\Tests\Fixtures\AttributesFixtures;
|
||||||
|
|
||||||
|
use Symfony\Component\Routing\Tests\Fixtures\Attributes\FooAttributes;
|
||||||
|
use Symfony\Component\Security\Core\User\User;
|
||||||
|
|
||||||
|
#[FooAttributes(
|
||||||
|
class: User::class,
|
||||||
|
foo: [
|
||||||
|
'bar' => ['foo','bar'],
|
||||||
|
'foo'
|
||||||
|
]
|
||||||
|
)]
|
||||||
|
class AttributesClassParamAfterParenthesisController
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Symfony\Component\Routing\Tests\Fixtures\AttributesFixtures;
|
||||||
|
|
||||||
|
use Symfony\Component\Routing\Tests\Fixtures\Attributes\FooAttributes;
|
||||||
|
use Symfony\Component\Security\Core\User\User;
|
||||||
|
|
||||||
|
#[FooAttributes(foo: ['bar' => ['foo','bar'],'foo'],class: User::class)]
|
||||||
|
class AttributesClassParamInlineAfterCommaController
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Symfony\Component\Routing\Tests\Fixtures\AttributesFixtures;
|
||||||
|
|
||||||
|
use Symfony\Component\Routing\Tests\Fixtures\Attributes\FooAttributes;
|
||||||
|
use Symfony\Component\Security\Core\User\User;
|
||||||
|
|
||||||
|
#[FooAttributes(class: User::class,foo: ['bar' => ['foo','bar'],'foo'])]
|
||||||
|
class AttributesClassParamInlineAfterParenthesisController
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Symfony\Component\Routing\Tests\Fixtures\AttributesFixtures;
|
||||||
|
|
||||||
|
use Symfony\Component\Routing\Tests\Fixtures\Attributes\FooAttributes;
|
||||||
|
use Symfony\Component\Security\Core\User\User;
|
||||||
|
|
||||||
|
#[FooAttributes(foo: ['bar' => ['foo','bar'],'foo'],class: 'Symfony\Component\Security\Core\User\User')]
|
||||||
|
class AttributesClassParamInlineQuotedAfterCommaController
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Symfony\Component\Routing\Tests\Fixtures\AttributesFixtures;
|
||||||
|
|
||||||
|
use Symfony\Component\Routing\Tests\Fixtures\Attributes\FooAttributes;
|
||||||
|
use Symfony\Component\Security\Core\User\User;
|
||||||
|
|
||||||
|
#[FooAttributes(class: 'Symfony\Component\Security\Core\User\User',foo: ['bar' => ['foo','bar'],'foo'])]
|
||||||
|
class AttributesClassParamInlineQuotedAfterParenthesisController
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Symfony\Component\Routing\Tests\Fixtures\AttributesFixtures;
|
||||||
|
|
||||||
|
use Symfony\Component\Routing\Tests\Fixtures\Attributes\FooAttributes;
|
||||||
|
|
||||||
|
#[FooAttributes(
|
||||||
|
foo: [
|
||||||
|
'bar' => ['foo','bar'],
|
||||||
|
'foo'
|
||||||
|
],
|
||||||
|
class: 'Symfony\Component\Security\Core\User\User'
|
||||||
|
)]
|
||||||
|
class AttributesClassParamQuotedAfterCommaController
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Symfony\Component\Routing\Tests\Fixtures\AttributesFixtures;
|
||||||
|
|
||||||
|
use Symfony\Component\Routing\Tests\Fixtures\Attributes\FooAttributes;
|
||||||
|
|
||||||
|
#[FooAttributes(
|
||||||
|
class: 'Symfony\Component\Security\Core\User\User',
|
||||||
|
foo: [
|
||||||
|
'bar' => ['foo','bar'],
|
||||||
|
'foo'
|
||||||
|
]
|
||||||
|
)]
|
||||||
|
class AttributesClassParamQuotedAfterParenthesisController
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
@ -85,4 +85,72 @@ class AnnotationFileLoaderTest extends AbstractAnnotationLoaderTest
|
|||||||
$this->assertTrue($this->loader->supports($fixture, 'annotation'), '->supports() checks the resource type if specified');
|
$this->assertTrue($this->loader->supports($fixture, 'annotation'), '->supports() checks the resource type if specified');
|
||||||
$this->assertFalse($this->loader->supports($fixture, 'foo'), '->supports() checks the resource type if specified');
|
$this->assertFalse($this->loader->supports($fixture, 'foo'), '->supports() checks the resource type if specified');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @requires PHP 8
|
||||||
|
*/
|
||||||
|
public function testLoadAttributesClassAfterComma()
|
||||||
|
{
|
||||||
|
$this->reader->expects($this->once())->method('getClassAnnotation');
|
||||||
|
|
||||||
|
$this->loader->load(__DIR__.'/../Fixtures/AttributesFixtures/AttributesClassParamAfterCommaController.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testLoadAttributesInlineClassAfterComma()
|
||||||
|
{
|
||||||
|
$this->reader->expects($this->once())->method('getClassAnnotation');
|
||||||
|
|
||||||
|
$this->loader->load(__DIR__.'/../Fixtures/AttributesFixtures/AttributesClassParamInlineAfterCommaController.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @requires PHP 8
|
||||||
|
*/
|
||||||
|
public function testLoadAttributesQuotedClassAfterComma()
|
||||||
|
{
|
||||||
|
$this->reader->expects($this->once())->method('getClassAnnotation');
|
||||||
|
|
||||||
|
$this->loader->load(__DIR__.'/../Fixtures/AttributesFixtures/AttributesClassParamQuotedAfterCommaController.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testLoadAttributesInlineQuotedClassAfterComma()
|
||||||
|
{
|
||||||
|
$this->reader->expects($this->once())->method('getClassAnnotation');
|
||||||
|
|
||||||
|
$this->loader->load(__DIR__.'/../Fixtures/AttributesFixtures/AttributesClassParamInlineQuotedAfterCommaController.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @requires PHP 8
|
||||||
|
*/
|
||||||
|
public function testLoadAttributesClassAfterParenthesis()
|
||||||
|
{
|
||||||
|
$this->reader->expects($this->once())->method('getClassAnnotation');
|
||||||
|
|
||||||
|
$this->loader->load(__DIR__.'/../Fixtures/AttributesFixtures/AttributesClassParamAfterParenthesisController.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testLoadAttributesInlineClassAfterParenthesis()
|
||||||
|
{
|
||||||
|
$this->reader->expects($this->once())->method('getClassAnnotation');
|
||||||
|
|
||||||
|
$this->loader->load(__DIR__.'/../Fixtures/AttributesFixtures/AttributesClassParamInlineAfterParenthesisController.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @requires PHP 8
|
||||||
|
*/
|
||||||
|
public function testLoadAttributesQuotedClassAfterParenthesis()
|
||||||
|
{
|
||||||
|
$this->reader->expects($this->once())->method('getClassAnnotation');
|
||||||
|
|
||||||
|
$this->loader->load(__DIR__.'/../Fixtures/AttributesFixtures/AttributesClassParamQuotedAfterParenthesisController.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testLoadAttributesInlineQuotedClassAfterParenthesis()
|
||||||
|
{
|
||||||
|
$this->reader->expects($this->once())->method('getClassAnnotation');
|
||||||
|
|
||||||
|
$this->loader->load(__DIR__.'/../Fixtures/AttributesFixtures/AttributesClassParamInlineQuotedAfterParenthesisController.php');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,6 @@ class ParseException extends RuntimeException
|
|||||||
* @param int $parsedLine The line where the error occurred
|
* @param int $parsedLine The line where the error occurred
|
||||||
* @param string|null $snippet The snippet of code near the problem
|
* @param string|null $snippet The snippet of code near the problem
|
||||||
* @param string|null $parsedFile The file name where the error occurred
|
* @param string|null $parsedFile The file name where the error occurred
|
||||||
* @param \Exception|null $previous The previous exception
|
|
||||||
*/
|
*/
|
||||||
public function __construct(string $message, int $parsedLine = -1, string $snippet = null, string $parsedFile = null, \Throwable $previous = null)
|
public function __construct(string $message, int $parsedLine = -1, string $snippet = null, string $parsedFile = null, \Throwable $previous = null)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user