Class: LibWebSocket::URL

Inherits:
Object
  • Object
show all
Defined in:
lib/em-websocket-client.rb

Instance Method Summary collapse

Instance Method Details

#parse(string) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/em-websocket-client.rb', line 7

def parse(string)
  return nil unless string.is_a?(String)

  uri = Addressable::URI.parse(string)

  scheme = uri.scheme
  return nil unless scheme

  self.secure = true if scheme.match(/ss\Z/m)

  host = uri.host
  host = '/' unless host && host != ''
  self.host = host
  self.port = uri.port.to_s if uri.port

  request_uri = uri.path
  request_uri = '/' unless request_uri && request_uri != ''
  request_uri += "?" + uri.query if uri.query
  self.resource_name = request_uri

  return self
end