(logger termlog.Logger, w http.ResponseWriter, name string, f http.File)
| 324 | } |
| 325 | |
| 326 | func (fserver *FileServer) dirList(logger termlog.Logger, w http.ResponseWriter, name string, f http.File) { |
| 327 | w.Header().Set("Cache-Control", "no-store, must-revalidate") |
| 328 | files, err := f.Readdir(0) |
| 329 | if err != nil { |
| 330 | logger.Shout("Error reading directory for listing: %s", err) |
| 331 | return |
| 332 | } |
| 333 | sortedFiles := fileSlice(files) |
| 334 | sort.Sort(sortedFiles) |
| 335 | data := dirData{ |
| 336 | Version: fserver.Version, |
| 337 | Name: name, |
| 338 | Files: sortedFiles, |
| 339 | } |
| 340 | err = fserver.Inject.ServeTemplate( |
| 341 | http.StatusOK, |
| 342 | w, |
| 343 | fserver.Templates.Lookup("dirlist.html"), |
| 344 | data, |
| 345 | ) |
| 346 | if err != nil { |
| 347 | logger.Shout("Failed to generate dir listing: %s", err) |
| 348 | } |
| 349 | } |
| 350 | |
| 351 | func (fserver *FileServer) notFound( |
| 352 | logger termlog.Logger, |
no test coverage detected