Class: DiverDown::Web::DevServerMiddleware::WebSocketProxy
- Inherits:
-
Object
- Object
- DiverDown::Web::DevServerMiddleware::WebSocketProxy
- Defined in:
- lib/diver_down/web/dev_server_middleware.rb
Defined Under Namespace
Modules: Reader
Instance Attribute Summary collapse
-
#env ⇒ Object
readonly
Returns the value of attribute env.
-
#url ⇒ Object
readonly
Returns the value of attribute url.
Instance Method Summary collapse
-
#initialize(env, host:, port:) ⇒ WebSocketProxy
constructor
A new instance of WebSocketProxy.
- #write(string) ⇒ Object
Constructor Details
#initialize(env, host:, port:) ⇒ WebSocketProxy
Returns a new instance of WebSocketProxy.
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/diver_down/web/dev_server_middleware.rb', line 23 def initialize(env, host:, port:) @env = env @url = "ws://#{host}:#{port}#{env['REQUEST_URI']}" @driver = WebSocket::Driver.rack(self) env['rack.hijack'].call @io = env['rack.hijack_io'] EM.attach(@io, Reader) { |conn| conn.driver = @driver } @driver.start end |
Instance Attribute Details
#env ⇒ Object (readonly)
Returns the value of attribute env.
21 22 23 |
# File 'lib/diver_down/web/dev_server_middleware.rb', line 21 def env @env end |
#url ⇒ Object (readonly)
Returns the value of attribute url.
21 22 23 |
# File 'lib/diver_down/web/dev_server_middleware.rb', line 21 def url @url end |
Instance Method Details
#write(string) ⇒ Object
37 38 39 |
# File 'lib/diver_down/web/dev_server_middleware.rb', line 37 def write(string) @io.write(string) end |