This commit is contained in:
2021-10-28 10:52:10 +08:00
parent ddbf5c65a3
commit 354ab20f08
+29 -4
View File
@@ -8,6 +8,7 @@ use Http\Handler\Abstracts\HandlerManager;
use Http\Handler\Abstracts\MiddlewareManager;
use Kiri\Abstracts\Logger;
use Kiri\Kiri;
use ReflectionException;
use Throwable;
class Router
@@ -33,6 +34,30 @@ class Router
}
/**
* @param $service
* @param Closure $callback
* @param string $version
*/
public static function addService($service, Closure $callback, string $version = '2.0')
{
$default = ['prefix' => '.rpc/' . $service . '/' . $version];
static::group($default, $callback);
}
/**
* @param $method
* @param $handler
* @throws ReflectionException
*/
public static function jsonp($method, $handler)
{
$router = Kiri::getDi()->get(Router::class);
$router->addRoute('json-rpc', $method, $handler);
}
/**
* @param $route
* @param $handler
@@ -127,7 +152,7 @@ class Router
* @param string|array $method
* @param string $route
* @param string|Closure $closure
* @throws \ReflectionException
* @throws ReflectionException
*/
public function addRoute(string|array $method, string $route, string|Closure $closure)
{
@@ -188,9 +213,9 @@ class Router
if (empty($middleware = array_filter($middleware))) {
return;
}
foreach ($middleware as $value) {
MiddlewareManager::add($controller, $method, $value);
}
foreach ($middleware as $value) {
MiddlewareManager::add($controller, $method, $value);
}
}