require 'socket' require_relative 'request' require_relative 'route' class HTTPServer def initialize(port) @port = port end def start server = TCPServer.new(@port) puts "Listening on #{@port}" router = Router.new router.add_route("GET",/\/grillkorv\/\d/) do |id, senap| puts "woot #{senap}" end router.add_route("GET","/favicon.ico") while session = server.accept data = "" while line = session.gets and line !~ /^\s*$/ data += line end puts "RECEIVED REQUEST" puts "-" * 40 puts data puts "-" * 40 request = Request.new(data) pp request routeReturn = router.match_route(request) if routeReturn == 200 html = "

Hello, World!

" status = 200 elsif routeReturn == 404 html = "

Not found!

" status = 404 end #Sen kolla om resursen (filen finns) # Nedanstående bör göras i er Response-klass session.print "HTTP/1.1 #{status}\r\n" session.print "Content-Type: text/html\r\n" session.print "\r\n" session.print html session.close end end end