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 Http\Handler\Abstracts\MiddlewareManager;
use Kiri\Abstracts\Logger; use Kiri\Abstracts\Logger;
use Kiri\Kiri; use Kiri\Kiri;
use ReflectionException;
use Throwable; use Throwable;
class Router 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 $route
* @param $handler * @param $handler
@@ -127,7 +152,7 @@ class Router
* @param string|array $method * @param string|array $method
* @param string $route * @param string $route
* @param string|Closure $closure * @param string|Closure $closure
* @throws \ReflectionException * @throws ReflectionException
*/ */
public function addRoute(string|array $method, string $route, string|Closure $closure) public function addRoute(string|array $method, string $route, string|Closure $closure)
{ {
@@ -188,9 +213,9 @@ class Router
if (empty($middleware = array_filter($middleware))) { if (empty($middleware = array_filter($middleware))) {
return; return;
} }
foreach ($middleware as $value) { foreach ($middleware as $value) {
MiddlewareManager::add($controller, $method, $value); MiddlewareManager::add($controller, $method, $value);
} }
} }