summaryrefslogtreecommitdiff
path: root/src/edit/main.go
blob: 5995bea34c239cc4cf4e129830e287f3f94d2e06 (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
25
package main

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

func ServeIndex(out http.ResponseWriter, in *http.Request) {
	if in.URL.Path != "/" {
		http.NotFound(out, in)
		return
	}
	http.Redirect(out, in, "/files/src/", http.StatusMovedPermanently)
}

func main() {
	socket, err := util.StreamListener(os.Args[1], os.Args[2])
	errcheck(err)
	errcheck(os.Setenv("GIT_DIR", "/srv/http/edit.team4272.com/www.git"))
	http.Handle("/", util.SaneHTTPHandler{http.HandlerFunc(ServeIndex)})
	http.Handle("/static/", util.SaneHTTPHandler{http.StripPrefix("/static", http.FileServer(http.Dir("static")))})
	http.Handle("/files/", util.SaneHTTPHandler{http.StripPrefix("/files", http.HandlerFunc(ServeGit))})
	errcheck(http.Serve(socket, nil))
}