#!/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 }