Module: DRb::WebSocket

Defined in:
lib/drb/websocket.rb,
lib/drb/websocket/server.rb,
lib/drb/websocket/rack_app.rb

Defined Under Namespace

Classes: Callback, CallbackHandler, ClientSide, RackApp, Server, ServerSide, StrStream

Class Method Summary collapse

Class Method Details

.open(uri, config) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/drb/websocket.rb', line 32

def self.open(uri, config)
  unless uri =~ /^ws:\/\/(.*?):(\d+)(\/(.*))?$/
    raise(DRbBadScheme, uri) unless uri =~ /^ws:/
    raise(DRbBadURI, 'can\'t parse uri: ' + uri)
  end

  path, uuid = $4.split('/')

  unless path.nil? || path == 'callback'
    raise(DRbBadURI, 'can\'t parse uri: ' + uri)
  end

  handler = RackApp.handler(uri)
  callback_handler = handler if CallbackHandler === handler
  ClientSide.new(uri, config, callback_handler)
end

.open_server(uri, config) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/drb/websocket/server.rb', line 12

def self.open_server(uri, config)
  unless uri =~ /^ws:\/\/(.*?):(\d+)(\/(.*))?$/
    raise(DRbBadScheme, uri) unless uri =~ /^ws:/
    raise(DRbBadURI, 'can\'t parse uri: ' + uri)
  end
  Server.new(uri, config)
end

.uri_option(uri, config) ⇒ Object



28
29
30
# File 'lib/drb/websocket.rb', line 28

def self.uri_option(uri, config)
  return uri, nil
end