Compare commits

..

2 Commits

Author SHA1 Message Date
李东云
9a296c56e9 chore(release): 1.0.0-beta.6 2024-12-06 02:10:13 +00:00
李东云
2dace65933 fix(exceptions): 处理 HTTP 客户端和服务器异常
- 在 CommonHandler 中添加了对 GuzzleHttp 客户端和服务器异常的处理
- 解析异常响应内容,提取错误代码和消息
- 根据异常类型设置相应的状态码

Signed-off-by: 李东云 <dongyu.li@luxcreo.ai>
2024-12-06 10:07:42 +08:00
6 changed files with 706 additions and 640 deletions

1
.idea/HDK-Core.iml generated
View File

@@ -4,7 +4,6 @@
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="Singularity\HDK\Core\" />
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" packagePrefix="Singularity\HDK\Test\Core\" />
<sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/runtime" />
<excludeFolder url="file://$MODULE_DIR$/vendor/adbario/php-dot-notation" />
<excludeFolder url="file://$MODULE_DIR$/vendor/alibabacloud/credentials" />

View File

@@ -1,4 +1,11 @@
# 版本更新日志
## [1.0.0-beta.6](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/compare/v1.0.0-beta.5...v1.0.0-beta.6) (2024-12-06)
### 🐛 Bug Fixes | Bug 修复
* **exceptions:** 处理 HTTP 客户端和服务器异常 ([2dace65](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/2dace65933d7361c1124f8c5c125a507894584fb))
## [1.0.0-beta.5](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/compare/v1.0.0-beta.4...v1.0.0-beta.5) (2024-09-12)

View File

@@ -1 +1 @@
1.0.0-beta.5
1.0.0-beta.6

View File

@@ -130,5 +130,5 @@
"url": "https://mirrors.aliyun.com/composer/"
}
},
"version": "1.0.0-beta.5"
"version": "1.0.0-beta.6"
}

1312
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -13,6 +13,8 @@ declare(strict_types=1);
namespace Singularity\HDK\Core\Exceptions\Handler;
use Carbon\Carbon;
use GuzzleHttp\Exception\ClientException;
use GuzzleHttp\Exception\ServerException;
use Hyperf\Codec\Json;
use Hyperf\Database\Exception\QueryException;
use Hyperf\Database\Model\ModelNotFoundException;
@@ -93,6 +95,26 @@ class CommonHandler extends ExceptionHandler
$data['details'] = ['sql' => $throwable->getSql(), 'error' => $throwable->getMessage()];
}
}
if ($throwable instanceof ClientException) {
$content = $throwable->getResponse()->getBody()->getContents();
['errorCode' => $code, 'errorMsg' => $msg] = Json::decode($content);
$data = [
$code_name => $code,
$message_name => $msg,
];
$status_code = 400;
}
if ($throwable instanceof ServerException) {
$content = $throwable->getResponse()->getBody()->getContents();
['errorCode' => $code, 'errorMsg' => $msg] = Json::decode($content);
$data = [
$code_name => $code,
$message_name => $msg,
];
$status_code = 500;
}
// 101 请求方式错误
if ($throwable instanceof MethodNotAllowedHttpException) {
$message = explode(': ', $throwable->getMessage());