39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Middleware;
|
|
|
|
use Hyperf\Contract\Arrayable;
|
|
use Hyperf\HttpMessage\Stream\SwooleStream;
|
|
use Psr\Http\Message\ResponseInterface;
|
|
use Psr\Http\Message\ServerRequestInterface;
|
|
|
|
/**
|
|
* 核心类
|
|
*/
|
|
class CoreMiddleware extends \Hyperf\HttpServer\CoreMiddleware
|
|
{
|
|
/**
|
|
* Handle the response when cannot found any routes.
|
|
*
|
|
* @return array|Arrayable|mixed|ResponseInterface|string
|
|
*/
|
|
protected function handleNotFound(ServerRequestInterface $request): mixed
|
|
{
|
|
// 重写路由找不到的处理逻辑
|
|
return $this->response()->withStatus(404)->withBody(new SwooleStream('404 Not Found'));
|
|
}
|
|
|
|
/**
|
|
* Handle the response when the routes found but doesn't match any available methods.
|
|
*
|
|
* @return array|Arrayable|mixed|ResponseInterface|string
|
|
*/
|
|
protected function handleMethodNotAllowed(array $methods, ServerRequestInterface $request): mixed
|
|
{
|
|
// 重写 HTTP 方法不允许的处理逻辑
|
|
return $this->response()->withStatus(405)->withBody(new SwooleStream('Method Error'));
|
|
}
|
|
}
|