Blame view

go/src/themaru/vendor/github.com/gin-gonic/gin/fs.go 1.1 KB
476d2547e   김태훈   태마루 시스템 설정 / 업데이트...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
  // Copyright 2017 Manu Martinez-Almeida.  All rights reserved.
  // Use of this source code is governed by a MIT style
  // license that can be found in the LICENSE file.
  
  package gin
  
  import (
  	"net/http"
  	"os"
  )
  
  type onlyfilesFS struct {
  	fs http.FileSystem
  }
  
  type neuteredReaddirFile struct {
  	http.File
  }
  
  // Dir returns a http.Filesystem that can be used by http.FileServer(). It is used internally
  // in router.Static().
  // if listDirectory == true, then it works the same as http.Dir() otherwise it returns
  // a filesystem that prevents http.FileServer() to list the directory files.
  func Dir(root string, listDirectory bool) http.FileSystem {
  	fs := http.Dir(root)
  	if listDirectory {
  		return fs
  	}
  	return &onlyfilesFS{fs}
  }
  
  // Open conforms to http.Filesystem.
  func (fs onlyfilesFS) Open(name string) (http.File, error) {
  	f, err := fs.fs.Open(name)
  	if err != nil {
  		return nil, err
  	}
  	return neuteredReaddirFile{f}, nil
  }
  
  // Readdir overrides the http.File default implementation.
  func (f neuteredReaddirFile) Readdir(count int) ([]os.FileInfo, error) {
  	// this disables directory listing
  	return nil, nil
  }