wkfs

package
v0.0.0-...-2148625 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 25, 2023 License: Apache-2.0 Imports: 4 Imported by: 126

Documentation

Overview

Package wkfs implements the pluggable "well-known filesystem" abstraction layer.

Instead of accessing files directly through the operating system using os.Open or os.Stat, code should use wkfs.Open or wkfs.Stat, which first try to intercept paths at well-known top-level directories representing previously-registered mount types, otherwise fall through to the operating system paths.

Example of top-level well-known directories that might be registered include /gcs/bucket/object for Google Cloud Storage or /s3/bucket/object for AWS S3.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Lstat

func Lstat(name string) (os.FileInfo, error)

func MkdirAll

func MkdirAll(path string, perm os.FileMode) error

func ReadFile

func ReadFile(filename string) ([]byte, error)

func RegisterFS

func RegisterFS(prefix string, fs FileSystem)

RegisterFS registers a well-known filesystem. It intercepts anything beginning with prefix (which must start and end with a forward slash) and forwards it to fs.

func Remove

func Remove(name string) error

func Stat

func Stat(name string) (os.FileInfo, error)

func WriteFile

func WriteFile(filename string, data []byte, perm os.FileMode) error

WriteFile writes data to a file named by filename. If the file does not exist, WriteFile creates it with permissions perm; otherwise WriteFile truncates it before writing.

Types

type File

type File interface {
	io.Reader
	io.ReaderAt
	io.Closer
	io.Seeker
	Name() string
	Stat() (os.FileInfo, error)
}

func Open

func Open(name string) (File, error)

type FileSystem

type FileSystem interface {
	Open(name string) (File, error)
	OpenFile(name string, flag int, perm os.FileMode) (FileWriter, error)
	Stat(name string) (os.FileInfo, error)
	Lstat(name string) (os.FileInfo, error)
	MkdirAll(path string, perm os.FileMode) error
	Remove(name string) error
}

type FileWriter

type FileWriter interface {
	io.Writer
	io.Closer
}

func Create

func Create(name string) (FileWriter, error)

func OpenFile

func OpenFile(name string, flag int, perm os.FileMode) (FileWriter, error)

Directories

Path Synopsis
Package gcs registers a Google Cloud Storage filesystem at the well-known /gcs/ filesystem path if the current machine is running on Google Compute Engine.
Package gcs registers a Google Cloud Storage filesystem at the well-known /gcs/ filesystem path if the current machine is running on Google Compute Engine.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL