diff --git a/src/Request.php b/src/Request.php index e6a9650..188ee5a 100644 --- a/src/Request.php +++ b/src/Request.php @@ -15,10 +15,14 @@ class Request implements RequestInterface { /** @SuppressWarnings("StaticAccess") */ public function __construct( - string $method, + RequestMethod|string $method, UriInterface $uri, RequestHeaders $headers ) { + if($method instanceof RequestMethod) { + $method = $method->name; + } + $this->method = RequestMethod::filterMethodName($method); $this->uri = $uri; $this->headers = $headers; diff --git a/test/phpunit/RequestTest.php b/test/phpunit/RequestTest.php index e938f41..6b8169d 100644 --- a/test/phpunit/RequestTest.php +++ b/test/phpunit/RequestTest.php @@ -53,6 +53,18 @@ public function testGetMethod() { ); } + public function testConstructorAcceptsRequestMethodCases():void { + foreach(RequestMethod::cases() as $method) { + $request = new Request( + $method, + self::getUriMock(), + self::getHeadersMock() + ); + + self::assertSame($method->name, $request->getMethod()); + } + } + public function testWithMethod() { $req = new Request( "get",