Class: Pytty::Daemon::Components::WebSocketHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/pytty/daemon/components/web_socket_handler.rb

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ WebSocketHandler

Returns a new instance of WebSocketHandler.



8
9
10
# File 'lib/pytty/daemon/components/web_socket_handler.rb', line 8

def initialize(env)
  @env = env
end

Instance Method Details

#handleObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/pytty/daemon/components/web_socket_handler.rb', line 12

def handle
  req = Rack::Request.new(@env)
  ws = Pytty::Daemon::Api::WebSockets.new(@env)
  ws.handle

  klass = case req.path_info
  when "/stream"
    Stream
  else
    raise "Unknown: #{req.path_info}"
  end
  params = ws.read
  body = begin
    JSON.parse(params)
  rescue Exception => ex
    p ex
  end

  obj = klass.new cmd: body.dig("cmd"), env: body.dig("env")
  obj.run stream: ws
end