40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
# File 'lib/easel/server.rb', line 40
def handle_request socket
log_info "Receieved request: #{socket}"
request = read_HTTP_message socket
case request[:method]
when "GET"
if request[:fields][:Upgrade] == "websocket\r\n"
run_websocket(socket, request)
else
handle_get(socket, request)
end
else
response "I don't understand what you sent - go away."
socket.print "HTTP/1.1 200 OK\r\n" +
"Content-Type: text/plain\r\n" +
"Content-Length: #{response.bytesize}\r\n" +
"Connection: close\r\n" +
"\r\n" +
response
socket.close
end
end
|