go4.org: go4.org/wkfs Index | Files | Directories

package wkfs

import "go4.org/wkfs"

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.


Package Files


func Lstat Uses

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

func MkdirAll Uses

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

func ReadFile Uses

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

func RegisterFS Uses

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 Uses

func Remove(name string) error

func Stat Uses

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

func WriteFile Uses

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.

type File Uses

type File interface {
    Name() string
    Stat() (os.FileInfo, error)

func Open Uses

func Open(name string) (File, error)

type FileSystem Uses

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 Uses

type FileWriter interface {

func Create Uses

func Create(name string) (FileWriter, error)

func OpenFile Uses

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


gcsPackage 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 wkfs imports 4 packages (graph) and is imported by 42 packages. Updated 2018-01-03. Refresh now. Tools for package owners.