Skip to content

Commit 62aac05

Browse files
fix: Close GET SSE Stream when session is deleted or has expired
1 parent fecd95f commit 62aac05

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

src/Transports/StreamableHttpServerTransport.php

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -250,18 +250,15 @@ public function handleGetRequest(Request $request): StreamedResponse|Response
250250
break;
251251
}
252252

253+
if (!$this->sessionManager->hasSession($sessionId)) {
254+
break;
255+
}
256+
253257
$messages = $this->dequeueMessagesForContext($sessionId, 'get_sse');
254258
foreach ($messages as $messageData) {
255259
$this->sendSseEvent(rtrim($messageData['data'], "\n"), $messageData['id']);
256260
}
257261

258-
static $keepAliveCounter = 0;
259-
$keepAliveInterval = (int) round(15 / $pollInterval);
260-
if (($keepAliveCounter++ % $keepAliveInterval) == 0) {
261-
echo ": keep-alive\n\n";
262-
$this->flushOutput();
263-
}
264-
265262
usleep($pollInterval * 1000000);
266263
}
267264
}, headers: array_merge([

0 commit comments

Comments
 (0)