package main import ( "net/http" "os" "util" ) func ServeIndex(out http.ResponseWriter, in *http.Request) { if in.URL.Path != "/" { http.NotFound(out, in) } http.Redirect(out, in, "/files/", http.StatusMovedPermanently) } func main() { socket, err := util.StreamListener(os.Args[1], os.Args[2]) errcheck(err) errcheck(os.Chdir("/srv/http/edit.team4272.com/www.git")) http.Handle("/", util.SaneHTTPHandler{http.HandlerFunc(ServeIndex)}) http.Handle("/static/", util.SaneHTTPHandler{http.FileServer(http.Dir("static"))}) http.Handle("/files/", util.SaneHTTPHandler{http.StripPrefix("/files", http.HandlerFunc(ServeGit))}) errcheck(http.Serve(socket, nil)) }