This commit is contained in:
2020-09-09 10:36:00 +08:00
parent 9ec911e96e
commit 286ee22d18
3 changed files with 19 additions and 4 deletions
+12
View File
@@ -0,0 +1,12 @@
<?php
namespace HttpServer\IInterface;
interface After
{
public function onHandler($params);
}
+6 -1
View File
@@ -11,6 +11,7 @@ namespace HttpServer\Route;
use Closure; use Closure;
use Exception; use Exception;
use HttpServer\Route\Dispatch\Dispatch; use HttpServer\Route\Dispatch\Dispatch;
use Swoole\Coroutine;
/** /**
* Class Middleware * Class Middleware
@@ -50,7 +51,11 @@ class Middleware
public function getGenerate($node) public function getGenerate($node)
{ {
$last = function ($passable) use ($node) { $last = function ($passable) use ($node) {
return Dispatch::create($node->handler, $passable)->dispatch(); $responseData = Dispatch::create($node->handler, $passable)->dispatch();
response()->send($responseData, 200);
Coroutine::create(function () use ($responseData, $node) {
$node->afterDispatch($responseData);
});
}; };
$data = Reduce::reduce($last, $this->annotation($node)); $data = Reduce::reduce($last, $this->annotation($node));
return $node->callback = $data; return $node->callback = $data;
+1 -3
View File
@@ -100,9 +100,7 @@ class Node extends Application
*/ */
public function afterDispatch($response) public function afterDispatch($response)
{ {
return Reduce::reduce(function () use ($response) { return call_user_func($this->_after, $response);
return $response;
}, $this->_after);
} }