Class: McpOnRuby::Transport::SSETransport

Inherits:
Object
  • Object
show all
Defined in:
lib/mcp_on_ruby/transport.rb

Overview

SSE (Server-Sent Events) transport for real-time updates

Instance Method Summary collapse

Constructor Details

#initialize(server, **options) ⇒ SSETransport

Returns a new instance of SSETransport.



188
189
190
191
192
193
194
# File 'lib/mcp_on_ruby/transport.rb', line 188

def initialize(server, **options)
  @server = server
  @options = options
  @logger = McpOnRuby.logger
  @clients = {}
  @mutex = Mutex.new
end

Instance Method Details

#call(env) ⇒ Object



196
197
198
199
200
201
202
203
204
205
206
207
# File 'lib/mcp_on_ruby/transport.rb', line 196

def call(env)
  request = Rack::Request.new(env)
  
  # Only handle GET requests for SSE
  return [405, {}, ['Method not allowed']] unless request.get?
  
  # Security checks (reuse from RackMiddleware)
  # ... security implementation similar to RackMiddleware
  
  # Handle SSE connection
  handle_sse_connection(env, request)
end