File tree Expand file tree Collapse file tree 5 files changed +14
-79
lines changed
Expand file tree Collapse file tree 5 files changed +14
-79
lines changed Original file line number Diff line number Diff line change 33namespace KLP \KlpMcpServer \Controllers ;
44
55use KLP \KlpMcpServer \Server \MCPServer ;
6+ use Psr \Log \LoggerInterface ;
67use Symfony \Component \HttpFoundation \JsonResponse ;
78use Symfony \Component \HttpFoundation \Request ;
89
910class MessageController
1011{
11- public function __construct (private readonly MCPServer $ server ) {}
12+ public function __construct (private readonly MCPServer $ server, private readonly LoggerInterface $ logger ) {}
1213
1314 public function handle (Request $ request )
1415 {
1516 $ sessionId = $ request ->request ->get ('sessionId ' ) ?? $ request ->query ->get ('sessionId ' );
1617
1718 $ messageJson = json_decode ($ request ->getContent (), true , flags: JSON_THROW_ON_ERROR );
1819
20+ $ this ->logger ?->debug('Received message for clientId: ' .$ sessionId , ['message ' => $ messageJson ]);
21+
1922 $ this ->server ->requestMessage (clientId: $ sessionId , message: $ messageJson );
2023
2124 return new JsonResponse (['success ' => true ]);
Original file line number Diff line number Diff line change @@ -54,8 +54,8 @@ klp_mcp_server:
5454 # generating the tool list for the client.
5555 # Register your tools here
5656 tools :
57- - \ KLP\KlpMcpServer\Services\ToolService\Examples\HelloWorldTool::class
58- - \ KLP\KlpMcpServer\Services\ToolService\Examples\VersionCheckTool::class
57+ - KLP\KlpMcpServer\Services\ToolService\Examples\HelloWorldTool
58+ - KLP\KlpMcpServer\Services\ToolService\Examples\VersionCheckTool
5959
6060 # Prompts List
6161 # https://modelcontextprotocol.io/docs/concepts/prompts
Original file line number Diff line number Diff line change 1212
1313 <service id =" KLP\KlpMcpServer\Controllers\MessageController" class =" KLP\KlpMcpServer\Controllers\MessageController" >
1414 <argument type =" service" id =" klp_mcp_server.server" />
15+ <argument type =" service" id =" logger" on-invalid =" null" />
1516 <tag name =" controller.service_arguments" />
1617 </service >
1718 <service id =" klp_mcp_server.controller.message" alias =" KLP\KlpMcpServer\Controllers\MessageController" />
1819
19- <service id =" klp_mcp_server.adapter.default" alias =" klp_mcp_server.adapter.in_memory" />
20- <service id =" klp_mcp_server.adapter.in_memory" class =" KLP\KlpMcpServer\Transports\SseAdapters\InMemoryAdapter" />
20+ <service id =" klp_mcp_server.adapter.default" alias =" klp_mcp_server.adapter.redis" />
2121 <service id =" klp_mcp_server.adapter.redis" class =" KLP\KlpMcpServer\Transports\SseAdapters\RedisAdapter" >
2222 <argument type =" service" id =" logger" on-invalid =" null" />
2323 </service >
2424 <service id =" klp_mcp_server.transport.sse" class =" KLP\KlpMcpServer\Transports\SseTransport" >
2525 <argument type =" string" >%klp_mcp_server.default_path%</argument >
26+ <argument type =" service" id =" klp_mcp_server.adapter.redis" on-invalid =" null" />
2627 <argument type =" service" id =" logger" on-invalid =" null" />
2728 </service >
2829
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1414class SseTransportTest extends TestCase
1515{
1616 private LoggerInterface |MockObject $ loggerMock ;
17+ private SseAdapterInterface |MockObject $ adapterMock ;
1718
1819 private SseTransport $ instance ;
1920
2021 protected function setUp (): void
2122 {
2223 parent ::setUp ();
2324 $ this ->loggerMock = $ this ->createMock (LoggerInterface::class);
24- $ this ->instance = new SseTransport ('/default-path ' , $ this ->loggerMock );
25+ $ this ->adapterMock = $ this ->createMock (SseAdapterInterface::class);
26+ $ this ->instance = new SseTransport ('/default-path ' , $ this ->adapterMock , $ this ->loggerMock );
2527 }
2628
2729 /**
@@ -313,6 +315,7 @@ public function test_receive_returns_empty_array_without_adapter(): void
313315 public function test_receive_logs_info_when_no_adapter (): void
314316 {
315317 // Arrange
318+ $ this ->instance ->setAdapter (null );
316319 $ this ->loggerMock ->expects ($ this ->once ())
317320 ->method ('info ' )
318321 ->with ('SSE Transport::receive called but no adapter is configured. ' );
@@ -419,6 +422,7 @@ public function test_push_message_calls_adapter_correctly(): void
419422 public function test_push_message_throws_exception_without_adapter (): void
420423 {
421424 // Expect exception
425+ $ this ->instance ->setAdapter (null );
422426 $ this ->expectException (SseTransportException::class);
423427 $ this ->expectExceptionMessage ('Cannot push message: SSE Adapter is not configured. ' );
424428
You can’t perform that action at this time.
0 commit comments