#!/usr/local/bin/tcl

proc accept { file addr port } {
	set sp [split [gets $file]]
	if { [string toupper [lindex $sp 0]] == "GET" } {
		if { [lindex $sp 1] == "/" } { 
			set sp [lreplace $sp 1 1 "/index.html"]
		}
		set sp [lreplace $sp 1 1 .[lindex $sp 1]]
		set f ""
		catch { set f [open [lindex $sp 1] r] }
		if { $f != "" } {
			puts -nonewline $file [read $f]
			close $f
		} else {
			puts $file "404 / File not found"
		}
	} else {
		puts $file "501 / I don't know what you're asking! "
	}
	close $file
}

set n [socket -server accept 8080]

while { 1 } { vwait foo }
