mirror of
				https://github.com/caddyserver/caddy.git
				synced 2025-11-03 19:17:29 -05: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)
 | 
						|
)
 |