Skip to content

Commit 80598ab

Browse files
committed
Application::processRequest() removed recursion
1 parent 520a3e7 commit 80598ab

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/Application/Application.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ public function createInitialRequest()
129129
*/
130130
public function processRequest(Request $request)
131131
{
132+
process:
132133
if (count($this->requests) > self::$maxLoop) {
133134
throw new ApplicationException('Too many loops detected in application life cycle.');
134135
}
@@ -141,7 +142,8 @@ public function processRequest(Request $request)
141142
$response = $this->presenter->run(clone $request);
142143

143144
if ($response instanceof Responses\ForwardResponse) {
144-
$this->processRequest($response->getRequest());
145+
$request = $response->getRequest();
146+
goto process;
145147

146148
} elseif ($response) {
147149
$this->onResponse($this, $response);

0 commit comments

Comments
 (0)