summaryrefslogtreecommitdiff
path: root/src/edit/main.go
blob: 2a640d0f6e198331925d31519fea64ac152e84b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package main

import (
	"net/http"
	"util"
	"os"
)

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))
}