bug #28083 Remove the Expires header when calling Response::expire() (javiereguiluz)

This PR was merged into the 2.8 branch.

Discussion
----------

Remove the Expires header when calling Response::expire()

| Q             | A
| ------------- | ---
| Branch?       | 2.8
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #13341   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | -

Commits
-------

ac0cd15402 Remove the Expires header when calling Response::expire()
This commit is contained in:
Fabien Potencier 2018-08-02 11:19:39 +02:00
commit 5d8bf1618a
2 changed files with 6 additions and 0 deletions

View File

@ -675,6 +675,7 @@ class Response
{
if ($this->isFresh()) {
$this->headers->set('Age', $this->getMaxAge());
$this->headers->remove('Expires');
}
return $this;

View File

@ -362,6 +362,11 @@ class ResponseTest extends ResponseTestCase
$response->headers->set('Expires', -1);
$response->expire();
$this->assertNull($response->headers->get('Age'), '->expire() does not set the Age when the response is expired');
$response = new Response();
$response->headers->set('Expires', date(DATE_RFC2822, time() + 600));
$response->expire();
$this->assertNull($response->headers->get('Expires'), '->expire() removes the Expires header when the response is fresh');
}
public function testGetTtl()