소스 검색

merged branch schmittjoh/requestMethodOverrideFix (PR #1980)

Commits
-------

a1d9fed updated tests
b6ee1a6 fixes a bug when overriding method via the X-HTTP-METHOD-OVERRIDE header

Discussion
----------

Request method override fix
Fabien Potencier 13 년 전
부모
커밋
95719e78ad
2개의 변경된 파일3개의 추가작업 그리고 3개의 파일을 삭제
  1. 1 1
      src/Symfony/Component/HttpFoundation/Request.php
  2. 2 2
      tests/Symfony/Tests/Component/HttpFoundation/RequestTest.php

+ 1 - 1
src/Symfony/Component/HttpFoundation/Request.php

@@ -741,7 +741,7 @@ class Request
         if (null === $this->method) {
             $this->method = strtoupper($this->server->get('REQUEST_METHOD', 'GET'));
             if ('POST' === $this->method) {
-                $this->method = strtoupper($this->server->get('X-HTTP-METHOD-OVERRIDE', $this->request->get('_method', 'POST')));
+                $this->method = strtoupper($this->headers->get('X-HTTP-METHOD-OVERRIDE', $this->request->get('_method', 'POST')));
             }
         }
 

+ 2 - 2
tests/Symfony/Tests/Component/HttpFoundation/RequestTest.php

@@ -486,12 +486,12 @@ class RequestTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals('PURGE', $request->getMethod(), '->getMethod() returns the method from _method if defined and POST');
 
         $request->setMethod('POST');
-        $request->server->set('X-HTTP-METHOD-OVERRIDE', 'delete');
+        $request->headers->set('X-HTTP-METHOD-OVERRIDE', 'delete');
         $this->assertEquals('DELETE', $request->getMethod(), '->getMethod() returns the method from X-HTTP-Method-Override even though _method is set if defined and POST');
 
         $request = new Request();
         $request->setMethod('POST');
-        $request->server->set('X-HTTP-METHOD-OVERRIDE', 'delete');
+        $request->headers->set('X-HTTP-METHOD-OVERRIDE', 'delete');
         $this->assertEquals('DELETE', $request->getMethod(), '->getMethod() returns the method from X-HTTP-Method-Override if defined and POST');
     }