[Server] Simplify server entrypoint with run-based transport lifecycle (#103)
* feat: replace connect/listen flow with run lifecycle * feat(transport): add phpstan generics for typed transport returns * refactor: standardize variable naming for MCP server instances in transport handling * test: remove unnecessary phpstan-ignore annotation in DocBlockTestFixture
This commit is contained in:
parent
e2243bc2d9
commit
2dbd411194
10 changed files with 82 additions and 74 deletions
|
|
@ -137,8 +137,8 @@ $server = Server::builder()
|
|||
|
||||
$transport = new StdioTransport(logger: logger());
|
||||
|
||||
$server->connect($transport);
|
||||
$result = $server->run($transport);
|
||||
|
||||
$transport->listen();
|
||||
logger()->info('Server listener stopped gracefully.', ['result' => $result]);
|
||||
|
||||
logger()->info('Server listener stopped gracefully.');
|
||||
exit($result);
|
||||
|
|
|
|||
|
|
@ -42,8 +42,6 @@ $server = Server::builder()
|
|||
|
||||
$transport = new StreamableHttpTransport($request, $psr17Factory, $psr17Factory);
|
||||
|
||||
$server->connect($transport);
|
||||
|
||||
$response = $transport->listen();
|
||||
$response = $server->run($transport);
|
||||
|
||||
(new SapiEmitter())->emit($response);
|
||||
|
|
|
|||
|
|
@ -35,8 +35,6 @@ $server = Server::builder()
|
|||
|
||||
$transport = new StreamableHttpTransport($request, $psr17Factory, $psr17Factory);
|
||||
|
||||
$server->connect($transport);
|
||||
|
||||
$response = $transport->listen();
|
||||
$response = $server->run($transport);
|
||||
|
||||
(new SapiEmitter())->emit($response);
|
||||
|
|
|
|||
|
|
@ -77,8 +77,6 @@ $server = Server::builder()
|
|||
|
||||
$transport = new StreamableHttpTransport($request, $psr17Factory, $psr17Factory);
|
||||
|
||||
$server->connect($transport);
|
||||
|
||||
$response = $transport->listen();
|
||||
$response = $server->run($transport);
|
||||
|
||||
(new SapiEmitter())->emit($response);
|
||||
|
|
|
|||
|
|
@ -35,8 +35,6 @@ $server = Server::builder()
|
|||
|
||||
$transport = new StreamableHttpTransport($request, $psr17Factory, $psr17Factory);
|
||||
|
||||
$server->connect($transport);
|
||||
|
||||
$response = $transport->listen();
|
||||
$response = $server->run($transport);
|
||||
|
||||
(new SapiEmitter())->emit($response);
|
||||
|
|
|
|||
|
|
@ -31,8 +31,8 @@ $server = Server::builder()
|
|||
|
||||
$transport = new StdioTransport(logger: logger());
|
||||
|
||||
$server->connect($transport);
|
||||
$result = $server->run($transport);
|
||||
|
||||
$transport->listen();
|
||||
logger()->info('Server listener stopped gracefully.', ['result' => $result]);
|
||||
|
||||
logger()->info('Server listener stopped gracefully.');
|
||||
exit($result);
|
||||
|
|
|
|||
|
|
@ -39,8 +39,8 @@ $server = Server::builder()
|
|||
|
||||
$transport = new StdioTransport(logger: logger());
|
||||
|
||||
$server->connect($transport);
|
||||
$result = $server->run($transport);
|
||||
|
||||
$transport->listen();
|
||||
logger()->info('Server listener stopped gracefully.', ['result' => $result]);
|
||||
|
||||
logger()->info('Server listener stopped gracefully.');
|
||||
exit($result);
|
||||
|
|
|
|||
|
|
@ -28,8 +28,8 @@ $server = Server::builder()
|
|||
|
||||
$transport = new StdioTransport(logger: logger());
|
||||
|
||||
$server->connect($transport);
|
||||
$result = $server->run($transport);
|
||||
|
||||
$transport->listen();
|
||||
logger()->info('Server listener stopped gracefully.', ['result' => $result]);
|
||||
|
||||
logger()->info('Server listener stopped gracefully.');
|
||||
exit($result);
|
||||
|
|
|
|||
|
|
@ -57,8 +57,8 @@ $server = Server::builder()
|
|||
|
||||
$transport = new StdioTransport(logger: logger());
|
||||
|
||||
$server->connect($transport);
|
||||
$result = $server->run($transport);
|
||||
|
||||
$transport->listen();
|
||||
logger()->info('Server listener stopped gracefully.', ['result' => $result]);
|
||||
|
||||
logger()->info('Server listener stopped gracefully.');
|
||||
exit($result);
|
||||
|
|
|
|||
|
|
@ -31,8 +31,8 @@ $server = Server::builder()
|
|||
|
||||
$transport = new StdioTransport(logger: logger());
|
||||
|
||||
$server->connect($transport);
|
||||
$result = $server->run($transport);
|
||||
|
||||
$transport->listen();
|
||||
logger()->info('Server listener stopped gracefully.', ['result' => $result]);
|
||||
|
||||
logger()->info('Server listener stopped gracefully.');
|
||||
exit($result);
|
||||
|
|
|
|||
Loading…
Reference in a new issue