Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ea25267

Browse files
committed
merged branch havvg/feature/config-http_method_override (PR #7202)
This PR was squashed before being merged into the master branch (closes #7202). Commits ------- 817453c [2.2] add http_method_override option to ease setup Discussion ---------- [2.2] add http_method_override option to ease setup | Q | A | ------------- | --- | Bug fix? | no | New feature? | yes | BC breaks? | no | Deprecations? | no | Tests pass? | yes | License | MIT
2 parents 4cf0848 + 817453c commit ea25267

File tree

9 files changed

+22
-1
lines changed

9 files changed

+22
-1
lines changed

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ public function getConfigTreeBuilder()
5252
->end()
5353
->end()
5454
->scalarNode('secret')->end()
55+
->scalarNode('http_method_override')
56+
->info("Set true to enable support for the '_method' request parameter to determine the intended HTTP method on POST requests.")
57+
->defaultTrue()
58+
->end()
5559
->scalarNode('trust_proxy_headers')->defaultFalse()->end() // @deprecated, to be removed in 2.3
5660
->arrayNode('trusted_proxies')
5761
->beforeNormalization()

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ public function load(array $configs, ContainerBuilder $container)
6666
$container->setParameter('kernel.secret', $config['secret']);
6767
}
6868

69+
$container->setParameter('kernel.http_method_override', $config['http_method_override']);
70+
6971
$container->setParameter('kernel.trusted_proxies', $config['trusted_proxies']);
7072

7173
// @deprecated, to be removed in 2.3

src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ public function boot()
4646
} elseif ($this->container->getParameter('kernel.trust_proxy_headers')) {
4747
Request::trustProxyData(); // @deprecated, to be removed in 2.3
4848
}
49+
50+
if ($this->container->getParameter('kernel.http_method_override')) {
51+
Request::enableHttpMethodParameterOverride();
52+
}
4953
}
5054

5155
public function build(ContainerBuilder $container)

src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
<!-- charset is deprecated and will be removed in 2.2 -->
2626
<xsd:attribute name="charset" type="xsd:string" />
27+
<xsd:attribute name="http-method-override" type="xsd:boolean" />
2728
<xsd:attribute name="trust-proxy-headers" type="xsd:string" />
2829
<xsd:attribute name="trusted-proxies" type="xsd:string" />
2930
<xsd:attribute name="ide" type="xsd:string" />

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ protected static function getBundleDefaultConfig()
8888
{
8989
return array(
9090
'charset' => null,
91+
'http_method_override' => true,
9192
'trust_proxy_headers' => false,
9293
'trusted_proxies' => array(),
9394
'ide' => null,

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/full.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
'secret' => 's3cr3t',
55
'default_locale' => 'fr',
66
'form' => null,
7+
'http_method_override' => false,
78
'trust_proxy_headers' => true,
89
'trusted_proxies' => array('127.0.0.1', '10.0.0.1'),
910
'csrf_protection' => array(

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/full.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
77
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
88

9-
<framework:config secret="s3cr3t" ide="file%%link%%format" default-locale="fr" trust-proxy-headers="true" trusted-proxies="127.0.0.1, 10.0.0.1">
9+
<framework:config secret="s3cr3t" ide="file%%link%%format" default-locale="fr" trust-proxy-headers="true" trusted-proxies="127.0.0.1, 10.0.0.1" http-method-override="false">
1010
<framework:csrf-protection enabled="true" field-name="_csrf" />
1111
<framework:form />
1212
<framework:esi enabled="true" />

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/full.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ framework:
22
secret: s3cr3t
33
default_locale: fr
44
form: ~
5+
http_method_override: false
56
trust_proxy_headers: true
67
trusted_proxies: ['127.0.0.1', '10.0.0.1']
78
csrf_protection:

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,13 @@ public function testProxies()
4141
$this->assertEquals(array('127.0.0.1', '10.0.0.1'), $container->getParameter('kernel.trusted_proxies'));
4242
}
4343

44+
public function testHttpMethodOverride()
45+
{
46+
$container = $this->createContainerFromFile('full');
47+
48+
$this->assertFalse($container->getParameter('kernel.http_method_override'));
49+
}
50+
4451
public function testEsi()
4552
{
4653
$container = $this->createContainerFromFile('full');

0 commit comments

Comments
 (0)