diff --git a/.github/workflows/close-pull-request.yml b/.github/workflows/close-pull-request.yml deleted file mode 100644 index 4cbca9664..000000000 --- a/.github/workflows/close-pull-request.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: Close Pull Request - -on: - pull_request_target: - types: [ opened ] - -jobs: - run: - uses: hyperf/.github/.github/workflows/close-pull-request.yml@master diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 8ec4a62c3..000000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,11 +0,0 @@ -on: - push: - # Sequence of patterns matched against refs/tags - tags: - - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 - -name: Release - -jobs: - release: - uses: hyperf/.github/.github/workflows/release.yml@master diff --git a/src/Middleware/MetricMiddleware.php b/src/Middleware/MetricMiddleware.php index 36219a4aa..aa6461671 100644 --- a/src/Middleware/MetricMiddleware.php +++ b/src/Middleware/MetricMiddleware.php @@ -13,6 +13,7 @@ namespace Hyperf\Metric\Middleware; use Hyperf\Contract\ConfigInterface; +use Hyperf\HttpMessage\Exception\HttpException; use Hyperf\HttpServer\Router\Dispatched; use Hyperf\Metric\Metric; use Hyperf\Metric\Support\Uri; @@ -59,6 +60,13 @@ public function process(ServerRequestInterface $request, RequestHandlerInterface $timer->end($labels); return $response; + } catch (HttpException $httpException) { + + // HttpExceptions are valid HTTP responses, not internal errors + $labels['request_status'] = (string) $httpException->getStatusCode(); + $timer->end($labels); + + throw $httpException; } catch (Throwable $exception) { $this->countException($request, $exception); $timer->end($labels);