mirror of
				https://github.com/caddyserver/caddy.git
				synced 2025-10-31 18:47:20 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			30 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package filesystems
 | |
| 
 | |
| import (
 | |
| 	"io/fs"
 | |
| 	"os"
 | |
| 	"path/filepath"
 | |
| )
 | |
| 
 | |
| // OsFS is a simple fs.FS implementation that uses the local
 | |
| // file system. (We do not use os.DirFS because we do our own
 | |
| // rooting or path prefixing without being constrained to a single
 | |
| // root folder. The standard os.DirFS implementation is problematic
 | |
| // since roots can be dynamic in our application.)
 | |
| //
 | |
| // OsFS also implements fs.StatFS, fs.GlobFS, fs.ReadDirFS, and fs.ReadFileFS.
 | |
| type OsFS struct{}
 | |
| 
 | |
| func (OsFS) Open(name string) (fs.File, error)          { return os.Open(name) }
 | |
| func (OsFS) Stat(name string) (fs.FileInfo, error)      { return os.Stat(name) }
 | |
| func (OsFS) Glob(pattern string) ([]string, error)      { return filepath.Glob(pattern) }
 | |
| func (OsFS) ReadDir(name string) ([]fs.DirEntry, error) { return os.ReadDir(name) }
 | |
| func (OsFS) ReadFile(name string) ([]byte, error)       { return os.ReadFile(name) }
 | |
| 
 | |
| var (
 | |
| 	_ fs.StatFS     = (*OsFS)(nil)
 | |
| 	_ fs.GlobFS     = (*OsFS)(nil)
 | |
| 	_ fs.ReadDirFS  = (*OsFS)(nil)
 | |
| 	_ fs.ReadFileFS = (*OsFS)(nil)
 | |
| )
 |