49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/wands/web_socket_server.rb', line 49
def accept
socket = @tcp_server.accept
request = WEBrick::HTTPRequest.new(WEBrick::Config::HTTP)
= request, socket
unless ["upgrade"].include? PROTOCOL
socket.close
raise "Not a websocket request"
end
response = response_to
response.send_response socket
WebSocket.new socket
rescue WEBrick::HTTPStatus::BadRequest => e
warn "WEBRick error message: #{e.full_message}"
warn "HTTP request string: #{request}" if request
if socket
socket.write "HTTP/1.1 400 Bad Request\r\n\r\n"
socket.close
end
end
|