Last active
August 10, 2017 03:59
-
-
Save dayvsonlima/d5acf9645527921bac5f59cbc2b2ce67 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'socket' # Importa módulo socket | |
# Inicia servidor TCP na porta 2345 | |
server = TCPServer.new('localhost', 2345) | |
# Inicia loop infinito | |
loop do | |
# Aguarda que um cliente se conecte e em seguida retorna um socket TCP | |
socket = server.accept | |
# Lê a primeira linha da request | |
request = socket.gets | |
# Imprime a request no terminal | |
STDERR.puts request | |
response = "Coeh Rapaziada!\n" | |
# Imprime cabeçalhos HTTP e calcula tamanho da resposta na linha 23 com response.bytesize | |
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" | |
# Imprime uma linha em branco para separar os cabeçalhos do conteúdo da resposta | |
# assim como é exigido no protocolo HTTP | |
socket.print "\r\n" | |
# Imprime a resposta atual um Coeh Rapaziada! | |
socket.print response | |
# Feche o soquete, terminando a conexão | |
socket.close | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment