few minor changes from code review

pull/547/head
Austin Collier 11 months ago
parent 788ddb6137
commit 090a6f1922

@ -371,29 +371,29 @@ class Engine
{ {
$at_least_one_middleware_failed = false; $at_least_one_middleware_failed = false;
$middlewares = $event_name === 'before' ? $route->middleware : array_reverse($route->middleware); $middlewares = $event_name === Dispatcher::FILTER_BEFORE ? $route->middleware : array_reverse($route->middleware);
$params = $route->params; $params = $route->params;
foreach ($middlewares as $middleware) { foreach ($middlewares as $middleware) {
$middleware_object = false; $middleware_object = false;
if ($event_name === 'before') { if ($event_name === Dispatcher::FILTER_BEFORE) {
// can be a callable or a class // can be a callable or a class
$middleware_object = (is_callable($middleware) === true $middleware_object = (is_callable($middleware) === true
? $middleware ? $middleware
: (method_exists($middleware, 'before') === true : (method_exists($middleware, Dispatcher::FILTER_BEFORE) === true
? [$middleware, 'before'] ? [$middleware, Dispatcher::FILTER_BEFORE]
: false : false
) )
); );
} elseif ($event_name === 'after') { } elseif ($event_name === Dispatcher::FILTER_AFTER) {
// must be an object. No functions allowed here // must be an object. No functions allowed here
if ( if (
is_object($middleware) === true is_object($middleware) === true
&& !($middleware instanceof Closure) && !($middleware instanceof Closure)
&& method_exists($middleware, 'after') === true && method_exists($middleware, Dispatcher::FILTER_AFTER) === true
) { ) {
$middleware_object = [$middleware, 'after']; $middleware_object = [$middleware, Dispatcher::FILTER_AFTER];
} }
} }
@ -401,14 +401,18 @@ class Engine
continue; continue;
} }
if ($this->response()->v2_output_buffering === false && $route->is_streamed === false) { $use_v3_output_buffering =
$this->response()->v2_output_buffering === false &&
$route->is_streamed === false;
if ($use_v3_output_buffering === true) {
ob_start(); ob_start();
} }
// It's assumed if you don't declare before, that it will be assumed as the before method // It's assumed if you don't declare before, that it will be assumed as the before method
$middleware_result = $middleware_object($params); $middleware_result = $middleware_object($params);
if ($this->response()->v2_output_buffering === false && $route->is_streamed === false) { if ($use_v3_output_buffering === true) {
$this->response()->write(ob_get_clean()); $this->response()->write(ob_get_clean());
} }
@ -489,7 +493,11 @@ class Engine
} }
} }
if ($response->v2_output_buffering === false && $route->is_streamed === false) { $use_v3_output_buffering =
$this->response()->v2_output_buffering === false &&
$route->is_streamed === false;
if ($use_v3_output_buffering === true) {
ob_start(); ob_start();
} }
@ -499,7 +507,7 @@ class Engine
$params $params
); );
if ($response->v2_output_buffering === false && $route->is_streamed === false) { if ($use_v3_output_buffering === true) {
$response->write(ob_get_clean()); $response->write(ob_get_clean());
} }

Loading…
Cancel
Save