Initial commit: extracted from impostor-bbs gems/bbs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
22
lib/bbs/session.rb
Normal file
22
lib/bbs/session.rb
Normal file
@@ -0,0 +1,22 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'securerandom'
|
||||
|
||||
module BBS
|
||||
class Session
|
||||
include Telnet
|
||||
|
||||
def initialize(client)
|
||||
@client = client
|
||||
@session_id = SecureRandom.hex(8)
|
||||
end
|
||||
|
||||
def run
|
||||
negotiate
|
||||
flow = BBS.config.flow or raise "BBS.config.flow is not set"
|
||||
FlowRunner.new(self, @session_id, flow).run
|
||||
ensure
|
||||
@client.close rescue nil
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user