diff --git a/fileserve.go b/fileserve.go new file mode 100644 index 0000000..7127963 --- /dev/null +++ b/fileserve.go @@ -0,0 +1,24 @@ +package main + +import ( + "net/http" + "os" + "path" + + "github.com/zenazn/goji/web" +) + +func fileServeHandler(c web.C, w http.ResponseWriter, r *http.Request) { + filename := c.URLParams["name"] + absPath := path.Join(Config.filesDir, filename) + _, err := os.Stat(absPath) + + if os.IsNotExist(err) { + http.Error(w, http.StatusText(404), 404) + return + } + + // plug file expiry checking here + + http.ServeFile(w, r, absPath) +}