Commit Graph

31816 Commits

Author SHA1 Message Date
Fabien Potencier
f89047dd78 bug #23226 [Validator] replace hardcoded service id (xabbuh)
This PR was merged into the 3.3 branch.

Discussion
----------

[Validator] replace hardcoded service id

| Q             | A
| ------------- | ---
| Branch?       | 3.3
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #23224
| License       | MIT
| Doc PR        |

Commits
-------

44ff4b1a49 [Validator] replace hardcoded service id
2017-06-19 10:02:19 -07:00
Maxime Steinhausser
ac5e884f36 [Profiler][Validator] Add a validator panel in profiler 2017-06-19 17:21:01 +02:00
Christian Flothmann
44ff4b1a49 [Validator] replace hardcoded service id 2017-06-19 16:33:26 +02:00
Fabien Potencier
71b61b04a1 minor #23222 [Routing] Fix XmlFileLoader exception message (voronkovich)
This PR was merged into the 2.7 branch.

Discussion
----------

[Routing] Fix XmlFileLoader exception message

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

When an `XmlFileLoader` encounters an unknown tag it throws an exception with message like `Unknown tag "foo" used in file "bar". Expected "default", "requirement" or "option".`. A proper message should be `Unknown tag "foo" used in file "bar". Expected "default", "requirement", "option"  or "condition".`

Commits
-------

f6a94cb56f [Routing] Fix XmlFileLoader exception message
2017-06-19 07:02:36 -07:00
Oleg Voronkovich
f6a94cb56f [Routing] Fix XmlFileLoader exception message 2017-06-18 21:08:05 +03:00
Fabien Potencier
b223241f64 minor #23217 [Serializer] Fix workaround min php version (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[Serializer] Fix workaround min php version

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see comment below -->
| Bug fix?      | yes
| New feature?  | no <!-- don't forget updating src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget updating UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/22444#issuecomment-309220368 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

Commits
-------

74db2e61bc [Serializer] Fix workaround min php version
2017-06-18 08:43:21 -07:00
Fabien Potencier
db8b29bd63 minor #23220 Remove duplicate changelog entries (jdreesen)
This PR was merged into the 3.4 branch.

Discussion
----------

Remove duplicate changelog entries

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see comment below -->
| Bug fix?      | no
| New feature?  | no <!-- don't forget updating src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget updating UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | N/A  <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A  <!--highly recommended for new features-->

Commits
-------

93e6e95dae Remove duplicate changelog entries
2017-06-18 08:42:36 -07:00
Fabien Potencier
ac9a527b81 bug #22730 [FrameworkBundle] Sessions: configurable "use_strict_mode" option for NativeSessionStorage (MacDada)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] Sessions: configurable "use_strict_mode" option for NativeSessionStorage

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

It is currently not possible to configure the `use_strict_mode` option for `NativeSessionStorage` in a proper manner.

The reason of this PR: https://github.com/symfony/symfony/pull/22352#issuecomment-302113533

It could be considered a new feature, but I wish it wouldn't, as I don't want to do any ugly hacking to get it working.

What else could be done?

* implement more options from `NativeSessionStorage` in the config?
* get rid of duplication somehow (maybe a static method in `NativeSessionStorage` that would return the option list and could be used in `FrameworkExtension`?)
* update `FrameworkExtensionTest`?
* update `ConfigurationTest`?
* update [the docs](https://symfony.com/doc/current/reference/configuration/framework.html#session)?

I'm willing to do those if decided.

Commits
-------

90e192e824 Sessions: configurable "use_strict_mode" option for NativeSessionStorage
2017-06-18 08:41:46 -07:00
Fabien Potencier
d0065fe4dd minor #23219 [Translation] Fix FileLoader::loadResource() php doc (ogizanagi)
This PR was merged into the 2.8 branch.

Discussion
----------

[Translation] Fix FileLoader::loadResource() php doc

| Q             | A
| ------------- | ---
| Branch?       | 2.8 <!-- see comment below -->
| Bug fix?      | no
| New feature?  | no <!-- don't forget updating src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget updating UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | N/A <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

Commits
-------

e76ee7a542 [Translation] Fix FileLoader::loadResource() php doc
2017-06-18 08:40:29 -07:00
Jacob Dreesen
93e6e95dae Remove duplicate changelog entries 2017-06-18 13:44:42 +02:00
Maxime Steinhausser
9f877efb39 [DI] Dedup tags when using instanceof/autoconfigure 2017-06-17 21:02:43 +02:00
Maxime Steinhausser
e76ee7a542 [Translation] Fix FileLoader::loadResource() php doc 2017-06-17 21:00:18 +02:00
Maxime Steinhausser
74db2e61bc [Serializer] Fix workaround min php version 2017-06-17 20:11:33 +02:00
Jaroslav Kuba
33573c6eb1 Added support for the immutable directive in the cache-control header 2017-06-17 09:49:15 +02:00
Fabien Potencier
0478ecd472 feature #22124 Shift responsibility for keeping Date header to ResponseHeaderBag (mpdude)
This PR was squashed before being merged into the 3.4 branch (closes #22124).

Discussion
----------

Shift responsibility for keeping Date header to ResponseHeaderBag

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

This is an improvement over #22036. It shifts responsibility for preserving a `Date` header to the `ResponseHeaderBag`.

We already have similar logic there for the `Cache-Control` header.

Commits
-------

5d838360f3 Shift responsibility for keeping Date header to ResponseHeaderBag
2017-06-16 14:36:06 -07:00
Matthias Pigulla
5d838360f3 Shift responsibility for keeping Date header to ResponseHeaderBag 2017-06-16 14:35:59 -07:00
Dawid Nowak
90e192e824 Sessions: configurable "use_strict_mode" option for NativeSessionStorage
https://github.com/symfony/symfony/pull/22352#issuecomment-302113533
2017-06-16 20:49:16 +02:00
Fabien Potencier
1cdbb7db7a feature #23122 Xml encoder optional type cast (ragboyjr)
This PR was submitted for the 2.7 branch but it was merged into the 3.4 branch instead (closes #23122).

Discussion
----------

Xml encoder optional type cast

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #22478
| License       | MIT
| Doc PR        | n/a

This fixes the issue where certain XML attributes are typecasted when you don't want them to by providing the ability opt out of any typecasting of xml attributes via an option in the context. If this is approved, then I'll add docs in the serializer component describing the new context option.

Commits
-------

8f6e67d319 XML Encoder Optional Type Cast
2017-06-16 11:28:03 -07:00
RJ Garcia
8f6e67d319 XML Encoder Optional Type Cast
- This provides the ability to forgo the attribute type casting
- Updated the CHANGELOG

Signed-off-by: RJ Garcia <rj@bighead.net>
2017-06-16 11:28:02 -07:00
Fabien Potencier
436d5e4e94 bug #23195 [FrameworkBundle] [Command] Clean bundle directory, fixes #23177 (NicolasPion)
This PR was squashed before being merged into the 2.7 branch (closes #23195).

Discussion
----------

[FrameworkBundle] [Command] Clean bundle directory, fixes #23177

| Q             | A
| ------------- | ---
| Branch?       | 2.7 <!-- see comment below -->
| Bug fix?      | yes
| New feature?  | no <!-- don't forget updating src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget updating UPGRADE-*.md files -->
| Tests pass?   | no
| Fixed tickets | #23177
| License       | MIT

This PR fix #23177
when running an assets:install, it will remove directorys who do not have anymore a valid Bundle

Commits
-------

180f178f43 [FrameworkBundle] [Command] Clean bundle directory, fixes #23177
2017-06-16 11:24:38 -07:00
Nicolas Pion
180f178f43 [FrameworkBundle] [Command] Clean bundle directory, fixes #23177 2017-06-16 11:24:36 -07:00
Fabien Potencier
6727a2610b feature #23207 [FrameworkBundle] Allow .yaml file extension everywhere (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] Allow .yaml file extension everywhere

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see comment below -->
| Bug fix?      | no
| New feature?  | yes <!-- don't forget updating src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget updating UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | #23205 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

Commits
-------

2940bb0d2c [FrameworkBundle] Allow .yaml file extension everywhere
2017-06-16 11:20:43 -07:00
Fabien Potencier
772ab3d74b bug #23213 Fixed composer resources between web/cli (iltar)
This PR was merged into the 3.3 branch.

Discussion
----------

Fixed composer resources between web/cli

| Q             | A
| ------------- | ---
| Branch?       | 3.3
| Bug fix?      | yes
| New feature?  | no (reverts one)
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #23212
| License       | MIT
| Doc PR        | ~

This is a possible fix for the flawed module check for the composer resource. As this is the easiest fix, I've created a PR ready to be merged.

Commits
-------

9e047122f1 Fixed composer resources between web/cli
2017-06-16 11:17:54 -07:00
Fabien Potencier
1d304d2c9b fixed CS 2017-06-16 10:45:26 -07:00
Fabien Potencier
54b3e71992 bug #23160 [WebProfilerBundle] Fix the icon for the Cache panel (javiereguiluz)
This PR was squashed before being merged into the 3.3 branch (closes #23160).

Discussion
----------

[WebProfilerBundle] Fix the icon for the Cache panel

| Q             | A
| ------------- | ---
| Branch?       | 3.3
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #23159
| License       | MIT
| Doc PR        | -

Commits
-------

50c1d478ce [WebProfilerBundle] Fix the icon for the Cache panel
2017-06-16 10:44:58 -07:00
Javier Eguiluz
50c1d478ce [WebProfilerBundle] Fix the icon for the Cache panel 2017-06-16 10:44:56 -07:00
Fabien Potencier
c8884e7d9a bug #23052 [TwigBundle] Add Content-Type header for exception response (rchoquet)
This PR was merged into the 2.7 branch.

Discussion
----------

[TwigBundle] Add Content-Type header for exception response

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

This PR comes after I was looking to customize the way exceptions are served for a JSON API (grabbed the info at http://symfony.com/doc/current/controller/error_pages.html#overriding-the-default-exceptioncontroller).

I noticed that even when changing the request format to 'json' so that the right json.twig template is served:
```php
// in my override of the ExceptionController
public function showAction(Request $request, FlattenException $exception, DebugLoggerInterface $logger = null)
{
    $request->setRequestFormat('json');
    return parent::showAction($request, $exception, $logger);
}
```
the response Content-Type header was still 'text/html'.

By now, the response Content-Type should be corresponding to the given request format.

I also feel there's some room for improvement with the general "displaying error for a JSON API" chapter as it feels strange that there's no configuration option to just say "serve me anything as json", but that's another issue.

Commits
-------

9e2b408f25 add content-type header on exception response
2017-06-16 08:39:36 -07:00
Fabien Potencier
60e3a998d6 bug #23173 [WebServerBundle] Fix router script option BC (1ed)
This PR was merged into the 3.3 branch.

Discussion
----------

[WebServerBundle] Fix router script option BC

| Q             | A
| ------------- | ---
| Branch?       | 3.3
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #23206
| License       | MIT
| Doc PR        | -

Server commands does not work with router script given by a relative path eg.:
```
bin/console server:run -r router.php
```
but, this was working before and was removed (by accident I guess) in https://github.com/symfony/symfony/pull/21039/files#diff-b915f83f99a4166eb34eab581a92501bL187

Commits
-------

aeab2fe1f7 [WebServerBundle] Fix router script path and check existence
2017-06-16 06:30:30 -07:00
Gábor Egyed
aeab2fe1f7 [WebServerBundle] Fix router script path and check existence 2017-06-16 15:28:11 +02:00
Iltar van der Berg
9e047122f1 Fixed composer resources between web/cli 2017-06-16 14:40:34 +02:00
Maxime Steinhausser
2940bb0d2c [FrameworkBundle] Allow .yaml file extension everywhere 2017-06-16 12:53:40 +02:00
Fabien Potencier
b8c94d03c2 bug #23199 Reset redirectCount when throwing exception (hvanoch)
This PR was merged into the 2.7 branch.

Discussion
----------

Reset redirectCount when throwing exception

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #23197
| License       | MIT

When catching the exception throw when exceeding the redirect limit, all new request which results in a redirect fail. By resetting the redirectCount we can still use the same client instance.

Commits
-------

83fd578f96 Reset redirectCount when throwing exception
2017-06-15 07:57:21 -07:00
Fabien Potencier
d909592b2c bug #23180 [FrameworkBundle] Expose the AbstractController's container to its subclasses (BPScott)
This PR was merged into the 3.3 branch.

Discussion
----------

[FrameworkBundle] Expose the AbstractController's container to its subclasses

| Q             | A
| ------------- | ---
| Branch?       | 3.3
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

This is useful if an application provides their own base Controller that
references items in the container. It also makes it simpler for that
base controller to add additional optional dependencies by only overriding
getSubscribedServices instead of having to reimplement setContainer and
use ControllerTrait.

Commits
-------

ee17131fca Expose the AbstractController's container to its subclasses
2017-06-15 07:36:39 -07:00
Fabien Potencier
1f6330a9b9 feature #23076 [Validator] Adds support to check specific DNS record type for URL (iisisrael)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] Adds support to check specific DNS record type for URL

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

URL validation with the `checkDNS` option can time out for some international registrars or for reasons unknown.  When the `URL` constraint is implemented, the context may logically allow for a single DNS record type to be checked, which is less prone to timing out.  This updates the `checkDNS` option value to be one of any valid for the underlying `checkdnsrr()` method with backwards compatibility for the original boolean value.

Commits
-------

e66d8f1bef [Validator] Adds support to check specific DNS record type for URL
2017-06-15 07:35:35 -07:00
Fabien Potencier
511905d417 bug #23186 [TwigBundle] Move template.xml loading to a compiler pass (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[TwigBundle] Move template.xml loading to a compiler pass

| Q             | A
| ------------- | ---
| Branch?       | 2.7 <!-- see comment below -->
| Bug fix?      | yes
| New feature?  | no <!-- don't forget updating src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget updating UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | #23181 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

(failures unrelated)

Commits
-------

6ac0de8c2f [TwigBundle] Remove template.xml services when templating is disabled
2017-06-15 07:32:56 -07:00
Fabien Potencier
e1f2962cbe minor #23196 [Yaml] Fix typo: PARSE_KEYS_AS_STRING -> PARSE_KEYS_AS_STRINGS (meyerbaptiste)
This PR was merged into the 3.3 branch.

Discussion
----------

[Yaml] Fix typo: PARSE_KEYS_AS_STRING -> PARSE_KEYS_AS_STRINGS

| Q             | A
| ------------- | ---
| Branch?       | 3.3
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | N/A
| License       | MIT
| Doc PR        | N/A

Commits
-------

f927ebadad [Yaml] Fix typo: PARSE_KEYS_AS_STRING -> PARSE_KEYS_AS_STRINGS
2017-06-15 07:27:50 -07:00
Fabien Potencier
bc4dd8f16b feature #22629 [Security] Trigger a deprecation when a voter is missing the VoterInterface (iltar)
This PR was squashed before being merged into the 3.4 branch (closes #22629).

Discussion
----------

[Security] Trigger a deprecation when a voter is missing the VoterInterface

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | ~
| License       | MIT
| Doc PR        | ~

Right now it's possible to add voters to the access decision manager that do not have a `VoterInterface`.
 - No Interface, no `vote()` method, and it will give a PHP error.
 - No Interface, but `vote()` method, it will still work.
 - If I don't implement the interface _and_ have no `vote()` method, I will get weird exception that's not meaningful: `Attempted to call an undefined method named "vote" of class "App\Voter\MyVoter".`

This PR will deprecate the ability to use voters without the interface, it will also throw a proper exception when missing the interface _and_ the `vote()` method. Why when using and not when setting? Due to the fact that the voters can be set lazily via the `IteratorArgument`. The SecurityBundle will trigger a deprecation if the interface is not implemented and an exception if there's not even a `vote()` method present (to prevent exceptions at run-time).

This should have full backwards compatibility with 3.3, but give more meaningful errors. The only behavioral difference, might be that the container will throw an exception instead of maybe succeeding in voting when 1 voter would be broken at the end of the list (based on strategy). This case however, will be detected during development and deployment, rather than run-time.

Commits
-------

9c253e1ff6 [Security] Trigger a deprecation when a voter is missing the VoterInterface
2017-06-15 07:23:21 -07:00
Iltar van der Berg
9c253e1ff6 [Security] Trigger a deprecation when a voter is missing the VoterInterface 2017-06-15 07:21:44 -07:00
Henne Van Och
83fd578f96 Reset redirectCount when throwing exception 2017-06-15 15:33:54 +02:00
meyerbaptiste
f927ebadad [Yaml] Fix typo: PARSE_KEYS_AS_STRING -> PARSE_KEYS_AS_STRINGS 2017-06-15 14:58:50 +02:00
Ben Scott
ee17131fca Expose the AbstractController's container to its subclasses
Useful if an application provides their own base Controller that
references items in the container. It also makes it simpler for that
base controller to add additional optional dependencies by only overriding
getSubscribedServices instead of having to reimplement setContainer and
use ControllerTrait.
2017-06-15 13:29:56 +01:00
Maxime Steinhausser
6ac0de8c2f [TwigBundle] Remove template.xml services when templating is disabled 2017-06-15 13:54:31 +02:00
rchoquet
9e2b408f25 add content-type header on exception response 2017-06-15 11:47:56 +02:00
Israel J. Carberry
e66d8f1bef [Validator] Adds support to check specific DNS record type for URL 2017-06-15 00:40:00 -05:00
Fabien Potencier
3c2b1ff929 bug #23130 Keep s-maxage when expiry and validation are used in combination (mpdude)
This PR was merged into the 2.7 branch.

Discussion
----------

Keep s-maxage when expiry and validation are used in combination

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

(Symfony) docs say that [expiration wins over validation](https://symfony.com/doc/current/http_cache/validation.html). So,

a) when both the master and embedded response are public with an s-maxage, the result should be public as well and use the lower s-maxage of both, *also* in the case that the embedded response carries validation headers. (The cache may use those for revalidating the embedded response once it has become stale, but that does not impact expiration-based caching of the combined response.)

b) when both the master and embedded response are public with an s-maxage, the result should be public as well and use the lower s-maxage of both, *also* in the case that the master response carries validation headers. However, those *must not* be passed on to the client: They do not apply to the combined response, but may only be used by the cache itself to revalidate the (raw) master response.

Commits
-------

09bcbc70e7 Embedding a response that combines expiration and validation, that should not defeat expiration on the combined response
2017-06-14 15:21:38 -07:00
Matthias Pigulla
09bcbc70e7 Embedding a response that combines expiration and validation, that should not defeat expiration on the combined response 2017-06-14 23:57:46 +02:00
Fabien Potencier
8dc00bbe8d fixed bad merge 2017-06-14 14:54:47 -07:00
Fabien Potencier
551e5ba515 bug #23129 Fix two edge cases in ResponseCacheStrategy (mpdude)
This PR was squashed before being merged into the 2.7 branch (closes #23129).

Discussion
----------

Fix two edge cases in ResponseCacheStrategy

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

While reviewing how `ResponseCacheStrategy` calculates the caching-related headers for responses that embed subrequests, I came across two cases that I think are currently implemented incorrectly.

a) When the main response is public and cacheable with an expiration time, but it embeds (via ESI) a controller that does not set any caching-related headers, this embedded response is more constrained. So, the resulting (combined) response must not be cacheable, especially it may not keep the s-maxage.

b) When the main response is public and cacheable with an expiration time, but it embeds (via ESI) a controller that explicitly creates a "private" response, the resulting (combined) response must be private as well.

Commits
-------

c6e8c07e4d Fix two edge cases in ResponseCacheStrategy
2017-06-14 14:29:16 -07:00
Matthias Pigulla
c6e8c07e4d Fix two edge cases in ResponseCacheStrategy 2017-06-14 14:29:14 -07:00
Fabien Potencier
814b43e510 feature #22636 [Routing] Expose request in route conditions, if needed and possible (ro0NL)
This PR was squashed before being merged into the 2.7 branch (closes #22636).

Discussion
----------

[Routing] Expose request in route conditions, if needed and possible

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #16968, #22635
| License       | MIT
| Doc PR        | -

given

```
/**
 * @Route("/", name="homepage", condition="request.isXmlHttpRequest()")
 */
```

```
$ app/console route:match /
```

before

![image](https://cloud.githubusercontent.com/assets/1047696/25716808/b9ab518e-3100-11e7-8b59-21351b5c14ca.png)

after

![image](https://cloud.githubusercontent.com/assets/1047696/25716833/d08065fc-3100-11e7-9462-987b2c6eaa26.png)

Commits
-------

94371d052b [Routing] Expose request in route conditions, if needed and possible
2017-06-14 14:11:23 -07:00