Module: EventMachine::WebSocket::Handshake75

Included in:
Handler75
Defined in:
lib/em-websocket/handshake75.rb

Class Method Summary collapse

Class Method Details

.handshake(headers, path, secure) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/em-websocket/handshake75.rb', line 4

def self.handshake(headers, path, secure)
  scheme = (secure ? "wss" : "ws")
  location = "#{scheme}://#{headers['host']}#{path}"

  upgrade =  "HTTP/1.1 101 Web Socket Protocol Handshake\r\n"
  upgrade << "Upgrade: WebSocket\r\n"
  upgrade << "Connection: Upgrade\r\n"
  upgrade << "WebSocket-Origin: #{headers['origin']}\r\n"
  upgrade << "WebSocket-Location: #{location}\r\n\r\n"

  return upgrade
end