Rubyology artwork

Rubyology 33: Screencast - Ruby WebServer 1

Rubyology

English - June 26, 2007 23:40 - ★★★★★ - 7 ratings
Technology Education How To Homepage Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed


By popular demand, here's a screencast of a basic web server engine based on Ruby. Source by Suresh Mahadevan.

require 'thread'
require 'socket'

class RequestHandler
def initialize(session)
@session = session
end

def process
while @session.gets.chop.length != 0
end
@session.puts "HTTP/1.1 200 OK"
@session.puts "content-type: text/html"
@session.puts ""
@session.puts "Hello World "
@session.close
end
end

server = TCPServer.new("0.0.0.0", "8888")
while (session = server.accept)
Thread.new(session) do |newSession|
RequestHandler.new(newSession).process
end
end