diff --git a/src/Pecee/Http/Input/InputHandler.php b/src/Pecee/Http/Input/InputHandler.php index 9fb745f..9586720 100644 --- a/src/Pecee/Http/Input/InputHandler.php +++ b/src/Pecee/Http/Input/InputHandler.php @@ -231,6 +231,10 @@ class InputHandler { $element = null; + if(count($methods) > 0) { + $methods = is_array(...$methods) ? array_values(...$methods) : $methods; + } + if (count($methods) === 0 || in_array(Request::REQUEST_TYPE_GET, $methods, true) === true) { $element = $this->get($index); } diff --git a/tests/Pecee/SimpleRouter/InputHandlerTest.php b/tests/Pecee/SimpleRouter/InputHandlerTest.php index 11dcf28..be50698 100644 --- a/tests/Pecee/SimpleRouter/InputHandlerTest.php +++ b/tests/Pecee/SimpleRouter/InputHandlerTest.php @@ -122,7 +122,20 @@ class InputHandlerTest extends \PHPUnit\Framework\TestCase $_GET = []; } + public function testFindInput() { + global $_POST; + $_POST['hello'] = 'motto'; + + $router = TestRouter::router(); + $router->reset(); + $router->getRequest()->setMethod('post'); + $inputHandler = TestRouter::request()->getInputHandler(); + + $value = $inputHandler->value('hello', null, \Pecee\Http\Request::$requestTypesPost); + + $this->assertEquals($_POST['hello'], $value); + } public function testFile() {