authelia/internal/utils/files.go

57 lines
971 B
Go
Raw Normal View History

package utils
import (
"errors"
"os"
)
// FileExists returns true if the given path exists and is a file.
func FileExists(path string) (exists bool, err error) {
info, err := os.Stat(path)
if err == nil {
if info.IsDir() {
return false, errors.New("path is a directory")
}
return true, nil
}
if os.IsNotExist(err) {
return false, nil
}
return false, err
}
// DirectoryExists returns true if the given path exists and is a directory.
func DirectoryExists(path string) (exists bool, err error) {
info, err := os.Stat(path)
if err == nil {
if info.IsDir() {
return true, nil
}
return false, errors.New("path is a file")
}
if os.IsNotExist(err) {
return false, nil
}
return false, err
}
// PathExists returns true if the given path exists.
func PathExists(path string) (exists bool, err error) {
_, err = os.Stat(path)
if err == nil {
return true, nil
}
if os.IsNotExist(err) {
return false, nil
}
return true, err
}