mirror of
http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore.git
synced 2026-01-15 07:15:06 +08:00
fix(CoreMiddleware): 修复如果直接输出 ResponseInterface 实例会报错的问题
Signed-off-by: 李东云 <dongyu.li@luxcreo.ai>
This commit is contained in:
@@ -47,14 +47,14 @@ class CommonCoreMiddleware extends CoreMiddleware
|
||||
*/
|
||||
protected function transferToResponse(
|
||||
$response,
|
||||
ServerRequestInterface $request
|
||||
ServerRequestInterface $request,
|
||||
): ResponsePlusInterface {
|
||||
$style = $this->apiStyleService->get();
|
||||
|
||||
if ($style === ApiStyleService::RESTFUL) {
|
||||
$response = $this->transferToRestfulResponse($response, $request);
|
||||
} else {
|
||||
$response = $this->transferToClassicResponse($response, $request);
|
||||
if (!($response instanceof ResponseInterface)) {
|
||||
$response = $style === ApiStyleService::RESTFUL
|
||||
? $this->transferToRestfulResponse($response, $request)
|
||||
: $this->transferToClassicResponse($response, $request);
|
||||
}
|
||||
|
||||
return new ResponsePlusProxy($response);
|
||||
@@ -68,7 +68,7 @@ class CommonCoreMiddleware extends CoreMiddleware
|
||||
*/
|
||||
protected function transferToRestfulResponse(
|
||||
null|array|Arrayable|Jsonable|ResponseInterface|string $response,
|
||||
ServerRequestInterface $request
|
||||
ServerRequestInterface $request,
|
||||
): ResponseInterface {
|
||||
// 分页数据
|
||||
if ($response instanceof LengthAwarePaginatorInterface) {
|
||||
@@ -103,7 +103,7 @@ class CommonCoreMiddleware extends CoreMiddleware
|
||||
*/
|
||||
protected function transferToClassicResponse(
|
||||
null|array|Arrayable|Jsonable|ResponseInterface|string $response,
|
||||
ServerRequestInterface $request
|
||||
ServerRequestInterface $request,
|
||||
): ResponseInterface {
|
||||
$code_name = config('common.response.code_name');
|
||||
$message_name = config('common.response.message_name');
|
||||
@@ -162,6 +162,9 @@ class CommonCoreMiddleware extends CoreMiddleware
|
||||
new SwooleStream(Json::encode($response))
|
||||
);
|
||||
}
|
||||
if ($response instanceof ResponseInterface) {
|
||||
return $response;
|
||||
}
|
||||
// 其他默认按字符串处理
|
||||
return $this->response()->withAddedHeader(Header::CONTENT_TYPE, 'text/plain')->withBody(
|
||||
new SwooleStream((string)$response)
|
||||
|
||||
Reference in New Issue
Block a user