Changeset 14 in code


Ignore:
Timestamp:
Oct 18, 2021, 8:27:26 AM (4 years ago)
Author:
dev
Message:

Replace servefile() with built-in http.ServeFile()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/partage.go

    r13 r14  
    7878}
    7979
    80 func servefile(f *os.File, w http.ResponseWriter) {
    81         buffer := make([]byte, 4096)
    82 
    83         mime := contenttype(f)
    84         w.Header().Set("Content-Type", mime)
    85 
    86         f.Seek(0, 0)
    87         for {
    88                 n, err := f.Read(buffer)
    89 
    90                 if err != nil {
    91                         if err == io.EOF {
    92                                 if _, err := w.Write(buffer[:n]); err != nil {
    93                                         fmt.Println(err)
    94                                 }
    95                                 break
    96                         }
    97                         fmt.Println(err)
    98                         return
    99                 }
    100 
    101                 if _, err = w.Write(buffer[:n]); err != nil {
    102                         fmt.Println(err)
    103                 }
    104         }
    105 }
    106 
    10780func servetemplate(w http.ResponseWriter, f string, d templatedata) {
    10881        t, err := template.ParseFiles(conf.templatedir + "/" + f)
     
    198171        }
    199172
    200         f, err := os.Open(conf.rootdir + filename)
    201         if err != nil {
    202                 w.WriteHeader(http.StatusNotFound)
    203                 fmt.Println(err)
    204                 return
    205         }
    206         defer f.Close()
    207 
    208         servefile(f, w)
     173        http.ServeFile(w, r, conf.rootdir + filename)
    209174}
    210175
Note: See TracChangeset for help on using the changeset viewer.