[HttpFoundation] Added Request::getEncodings() method
This commit is contained in:
parent
f26c2b9deb
commit
28a8443a5f
@ -218,6 +218,7 @@ class Request
|
|||||||
$this->content = $content;
|
$this->content = $content;
|
||||||
$this->languages = null;
|
$this->languages = null;
|
||||||
$this->charsets = null;
|
$this->charsets = null;
|
||||||
|
$this->encodings = null;
|
||||||
$this->acceptableContentTypes = null;
|
$this->acceptableContentTypes = null;
|
||||||
$this->pathInfo = null;
|
$this->pathInfo = null;
|
||||||
$this->requestUri = null;
|
$this->requestUri = null;
|
||||||
@ -386,6 +387,7 @@ class Request
|
|||||||
}
|
}
|
||||||
$dup->languages = null;
|
$dup->languages = null;
|
||||||
$dup->charsets = null;
|
$dup->charsets = null;
|
||||||
|
$dup->encodings = null;
|
||||||
$dup->acceptableContentTypes = null;
|
$dup->acceptableContentTypes = null;
|
||||||
$dup->pathInfo = null;
|
$dup->pathInfo = null;
|
||||||
$dup->requestUri = null;
|
$dup->requestUri = null;
|
||||||
@ -1444,6 +1446,21 @@ class Request
|
|||||||
return $this->charsets = array_keys(AcceptHeader::fromString($this->headers->get('Accept-Charset'))->all());
|
return $this->charsets = array_keys(AcceptHeader::fromString($this->headers->get('Accept-Charset'))->all());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets a list of encodings acceptable by the client browser.
|
||||||
|
*
|
||||||
|
* @return array List of encodings in preferable order
|
||||||
|
*
|
||||||
|
* @api
|
||||||
|
*/
|
||||||
|
public function getEncodings()
|
||||||
|
{
|
||||||
|
if (null !== $this->encodings) {
|
||||||
|
return $this->encodings;
|
||||||
|
}
|
||||||
|
return $this->encodings = array_keys(AcceptHeader::fromString($this->headers->get('Accept-Encoding'))->all());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a list of content types acceptable by the client browser
|
* Gets a list of content types acceptable by the client browser
|
||||||
*
|
*
|
||||||
|
@ -1122,6 +1122,22 @@ class RequestTest extends \PHPUnit_Framework_TestCase
|
|||||||
$this->assertEquals(array('ISO-8859-1', 'utf-8', '*'), $request->getCharsets());
|
$this->assertEquals(array('ISO-8859-1', 'utf-8', '*'), $request->getCharsets());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testGetEncodings()
|
||||||
|
{
|
||||||
|
$request = new Request();
|
||||||
|
$this->assertEquals(array(), $request->getEncodings());
|
||||||
|
$request->headers->set('Accept-Encoding', 'gzip,deflate,sdch');
|
||||||
|
$this->assertEquals(array(), $request->getEncodings()); // testing caching
|
||||||
|
|
||||||
|
$request = new Request();
|
||||||
|
$request->headers->set('Accept-Encoding', 'gzip,deflate,sdch');
|
||||||
|
$this->assertEquals(array('gzip', 'deflate', 'sdch'), $request->getEncodings());
|
||||||
|
|
||||||
|
$request = new Request();
|
||||||
|
$request->headers->set('Accept-Encoding', 'gzip;q=0.4,deflate;q=0.9,compress;q=0.7');
|
||||||
|
$this->assertEquals(array('deflate', 'compress', 'gzip'), $request->getEncodings());
|
||||||
|
}
|
||||||
|
|
||||||
public function testGetAcceptableContentTypes()
|
public function testGetAcceptableContentTypes()
|
||||||
{
|
{
|
||||||
$request = new Request();
|
$request = new Request();
|
||||||
|
Reference in New Issue
Block a user