Class: HeadlessBrowserTool::Server::SessionAwareTransport

Inherits:
FastMcp::Transports::RackTransport
  • Object
show all
Defined in:
lib/headless_browser_tool/server.rb

Overview

Create custom transport that passes session context

Instance Method Summary collapse

Instance Method Details

#call(env) ⇒ Object



104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/headless_browser_tool/server.rb', line 104

def call(env)
  # Get or create session ID for this connection
  session_id = env["hbt.session_id"]

  # Use the session ID from middleware (which handles persistence)
  # Don't generate new ones here - let the middleware handle it

  # Store session ID in thread local for tools to access
  Thread.current[:hbt_session_id] = session_id

  # Call parent
  super
ensure
  Thread.current[:hbt_session_id] = nil
end