| 12345678910111213141516171819202122232425262728293031 |
- package httptoo
- import (
- "net/http"
- "os"
- )
- // Wraps a http.FileSystem, disabling directory listings, per the commonly
- // requested feature at https://groups.google.com/forum/#!topic/golang-
- // nuts/bStLPdIVM6w .
- type JustFilesFilesystem struct {
- Fs http.FileSystem
- }
- func (fs JustFilesFilesystem) Open(name string) (http.File, error) {
- f, err := fs.Fs.Open(name)
- if err != nil {
- return nil, err
- }
- d, err := f.Stat()
- if err != nil {
- f.Close()
- return nil, err
- }
- if d.IsDir() {
- f.Close()
- // This triggers http.FileServer to show a 404.
- return nil, os.ErrNotExist
- }
- return f, nil
- }
|