diff --git a/app/Http/Middleware/AddHeaders.php b/app/Http/Middleware/AddHeaders.php index 782a723..dbc047f 100644 --- a/app/Http/Middleware/AddHeaders.php +++ b/app/Http/Middleware/AddHeaders.php @@ -18,7 +18,11 @@ class AddHeaders public function handle(Request $request, Closure $next): mixed { $response = $next($request); - $response->header('Node-Id', ClusterSupport::currentNode()['id']); + + // SSE, 检测有没有 header() 方法。 + if (method_exists($response, 'header')) { + $response->header('Node-Id', ClusterSupport::currentNode()['id']); + } return $response; } diff --git a/app/Http/Middleware/ReportRequestToCluster.php b/app/Http/Middleware/ReportRequestToCluster.php index 64b121a..cd0c134 100644 --- a/app/Http/Middleware/ReportRequestToCluster.php +++ b/app/Http/Middleware/ReportRequestToCluster.php @@ -43,10 +43,16 @@ public function handle(Request $request, Closure $next): mixed $end = microtime(true); + $status = 0; + // 检测有没有 status() 方法。 + if (method_exists($response, 'status')) { + $status = $response->status(); + } + ClusterSupport::publish('http.outgoing', [ 'id' => $random_id, 'method' => $method, - 'status' => $response->status(), + 'status' => $status, 'path' => $path, // 'headers' => $response->headers->all(), // 'content' => $response->getContent(),