Replace servefile() with built-in http.ServeFile()
git-svn-id: file:///srv/svn/repo/marisa/trunk@14 d6811dac-2434-b64a-9ddc-f563ab233461
This commit is contained in:
parent
1e9dbb91b7
commit
69e921785a
37
partage.go
37
partage.go
@ -77,33 +77,6 @@ func writefile(f *os.File, s io.ReadCloser, contentlength int64) int64 {
|
|||||||
return sz
|
return sz
|
||||||
}
|
}
|
||||||
|
|
||||||
func servefile(f *os.File, w http.ResponseWriter) {
|
|
||||||
buffer := make([]byte, 4096)
|
|
||||||
|
|
||||||
mime := contenttype(f)
|
|
||||||
w.Header().Set("Content-Type", mime)
|
|
||||||
|
|
||||||
f.Seek(0, 0)
|
|
||||||
for {
|
|
||||||
n, err := f.Read(buffer)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
if err == io.EOF {
|
|
||||||
if _, err := w.Write(buffer[:n]); err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
break
|
|
||||||
}
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if _, err = w.Write(buffer[:n]); err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func servetemplate(w http.ResponseWriter, f string, d templatedata) {
|
func servetemplate(w http.ResponseWriter, f string, d templatedata) {
|
||||||
t, err := template.ParseFiles(conf.templatedir + "/" + f)
|
t, err := template.ParseFiles(conf.templatedir + "/" + f)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -197,15 +170,7 @@ func uploaderGet(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
f, err := os.Open(conf.rootdir + filename)
|
http.ServeFile(w, r, conf.rootdir + filename)
|
||||||
if err != nil {
|
|
||||||
w.WriteHeader(http.StatusNotFound)
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
defer f.Close()
|
|
||||||
|
|
||||||
servefile(f, w)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func uploader(w http.ResponseWriter, r *http.Request) {
|
func uploader(w http.ResponseWriter, r *http.Request) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user