Skip to content

Commit 0732c4d

Browse files
committed
Code Review changes
1 parent 339c115 commit 0732c4d

File tree

2 files changed

+4
-80
lines changed

2 files changed

+4
-80
lines changed

packages/router/src/MatchRouteMiddleware.php

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,9 @@ private function applyMethodSpoofing(Request $request): Request
8787
return $request;
8888
}
8989

90-
$spoofedMethod = $request->get('_method');
91-
$spoofedEnum = ($spoofedMethod instanceof Method)
92-
? $spoofedMethod
93-
: Method::tryFrom(strtoupper((string) $spoofedMethod));
90+
$spoofedMethod = Method::tryFrom(strtoupper((string) $request->get('_method')));
9491

95-
if ($spoofedEnum === null) {
92+
if ($spoofedMethod === null) {
9693
return $request;
9794
}
9895

@@ -102,10 +99,10 @@ private function applyMethodSpoofing(Request $request): Request
10299
Method::DELETE,
103100
];
104101

105-
if (! in_array($spoofedEnum, $allowedMethods, true)) {
102+
if (! in_array($spoofedMethod, $allowedMethods, strict: true)) {
106103
return $request;
107104
}
108105

109-
return $request->withMethod($spoofedEnum);
106+
return $request->withMethod($spoofedMethod);
110107
}
111108
}

packages/router/tests/MatchRouteMiddlewareTest.php

Lines changed: 0 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -191,79 +191,6 @@ public function test_method_spoofing_only_applies_to_post(): void
191191
$this->assertInstanceOf(NotFound::class, $response);
192192
}
193193

194-
public function test_no_spoofing_without_method_parameter(): void
195-
{
196-
$this->addRoute(Method::POST, '/users/1');
197-
198-
$request = new GenericRequest(
199-
method: Method::POST,
200-
uri: '/users/1',
201-
body: ['name' => 'John'],
202-
);
203-
204-
$next = new HttpMiddlewareCallable(
205-
fn (Request $_request) => new Ok('Middleware processed'),
206-
);
207-
208-
$response = ($this->middleware)($request, $next);
209-
$matchedRoute = $this->container->get(MatchedRoute::class);
210-
211-
$this->assertInstanceOf(Ok::class, $response);
212-
$this->assertNotNull($matchedRoute);
213-
$this->assertEquals(Method::POST, $matchedRoute->route->method);
214-
}
215-
216-
public function test_head_to_get_fallback_still_works(): void
217-
{
218-
$this->addRoute(Method::GET, '/users');
219-
220-
$request = new GenericRequest(
221-
method: Method::HEAD,
222-
uri: '/users',
223-
);
224-
225-
$next = new HttpMiddlewareCallable(
226-
fn (Request $_request) => new Ok('Middleware processed'),
227-
);
228-
229-
$response = ($this->middleware)($request, $next);
230-
$matchedRoute = $this->container->get(MatchedRoute::class);
231-
232-
$this->assertInstanceOf(Ok::class, $response);
233-
$this->assertNotNull($matchedRoute);
234-
$this->assertEquals(Method::GET, $matchedRoute->route->method);
235-
}
236-
237-
public function test_method_spoofing_preserves_request_data(): void
238-
{
239-
$this->addRoute(Method::PUT, '/users/1');
240-
241-
$request = new GenericRequest(
242-
method: Method::POST,
243-
uri: '/users/1',
244-
body: [
245-
'_method' => 'PUT',
246-
'name' => 'John',
247-
'email' => '[email protected]',
248-
],
249-
);
250-
251-
$processedRequest = null;
252-
$next = new HttpMiddlewareCallable(
253-
function (Request $request) use (&$processedRequest) {
254-
$processedRequest = $request;
255-
return new Ok('Middleware processed');
256-
},
257-
);
258-
259-
($this->middleware)($request, $next);
260-
261-
$this->assertNotNull($processedRequest);
262-
$this->assertEquals('John', $processedRequest->get('name'));
263-
$this->assertEquals('[email protected]', $processedRequest->get('email'));
264-
$this->assertEquals('PUT', $processedRequest->get('_method'));
265-
}
266-
267194
private function addRoute(Method $method, string $uri): void
268195
{
269196
$route = new FakeRouteBuilder();

0 commit comments

Comments
 (0)