feat: handle SSE comment messages
- Add support for ignoring SSE comment lines that start with ':' - Add debug logging for comment line processing Resolves #443 Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
This commit is contained in:
parent
032716546c
commit
4532b614e4
1 changed files with 9 additions and 0 deletions
|
|
@ -12,6 +12,8 @@ import java.util.regex.Pattern;
|
|||
|
||||
import org.reactivestreams.FlowAdapters;
|
||||
import org.reactivestreams.Subscription;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import io.modelcontextprotocol.spec.McpError;
|
||||
import reactor.core.publisher.BaseSubscriber;
|
||||
|
|
@ -31,6 +33,8 @@ import reactor.core.publisher.FluxSink;
|
|||
*/
|
||||
class ResponseSubscribers {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(ResponseSubscribers.class);
|
||||
|
||||
record SseEvent(String id, String event, String data) {
|
||||
}
|
||||
|
||||
|
|
@ -167,6 +171,11 @@ class ResponseSubscribers {
|
|||
this.currentEventType.set(matcher.group(1).trim());
|
||||
}
|
||||
}
|
||||
else if (line.startsWith(":")) {
|
||||
// Ignore comment lines starting with ":"
|
||||
// This is a no-op, just to skip comments
|
||||
logger.debug("Ignoring comment line: {}", line);
|
||||
}
|
||||
else {
|
||||
// If the response is not successful, emit an error
|
||||
// TODO: This should be a McpTransportError
|
||||
|
|
|
|||
Loading…
Reference in a new issue