fs

package
v1.12.8 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2023 License: Apache-2.0 Imports: 10 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Download added in v1.12.6

func Download(destFile string, src http.File) (err error)

Download downloads from a http.File.

func File added in v1.12.3

func File(name string, r ContentReader) http.File

File implements a http.File by a ContentReader which may implement optional interface{ ModTime() time.Time } and io.Closer.

func Files

func Files(files ...string) http.FileSystem

Files implements a http.FileSystem by a list of file name and content file.

func FilesWithContent

func FilesWithContent(files ...string) http.FileSystem

FilesWithContent implements a http.FileSystem by a list of file name and content.

func HttpFile added in v1.12.3

func HttpFile(name string, resp *http.Response) http.File

HttpFile implements a http.File by a http.Response object.

func Plugins added in v1.12.5

func Plugins(fs http.FileSystem, plugins ...interface{}) http.FileSystem

Plugins implements a filesystem with plugins by specified (ext string, plugin Plugin) pairs.

func Root added in v1.12.1

func Root() http.FileSystem

Root implements a http.FileSystem that only have a root directory.

func SequenceFile added in v1.12.5

func SequenceFile(name string, body io.ReadCloser) http.File

SequenceFile implements a http.File by a io.ReadCloser object.

func Union

func Union(fs ...http.FileSystem) http.FileSystem

Union merge a list of http.FileSystem into a union http.FileSystem object.

func WithTracker added in v1.12.3

func WithTracker(fs http.FileSystem, trackerInit interface{}, exts ...string) http.FileSystem

WithTracker implements a http.FileSystem by pactching large file access like git lfs. Here trackerInit should be (urlBase string) or (httpfs *fs.HttpFS).

Types

type ContentReader added in v1.12.3

type ContentReader interface {
	io.Reader
	io.Seeker
	Size() int64
}

type HttpFS added in v1.12.8

type HttpFS struct {
	HttpOpener
	// contains filtered or unexported fields
}

func Http added in v1.12.6

func Http(urlBase string, ctx ...context.Context) *HttpFS

Http creates a HttpFS which implements a http.FileSystem by http.Get join(urlBase, name).

func (*HttpFS) Open added in v1.12.8

func (p *HttpFS) Open(name string) (file http.File, err error)

Open is required by http.File.

func (HttpFS) With added in v1.12.8

func (fs HttpFS) With(client *http.Client, header http.Header) *HttpFS

With specifies http.Client and http.Header used by http.Get.

type HttpOpener added in v1.12.8

type HttpOpener struct {
	Client *http.Client
	Header http.Header
}

func (*HttpOpener) Open added in v1.12.8

func (p *HttpOpener) Open(ctx context.Context, url string) (file http.File, err error)

Open opens a http.File from an url.

type Plugin added in v1.12.8

type Plugin = func(fs http.FileSystem, name string) (file http.File, err error)

Directories

Path Synopsis
dir
lfs

Jump to

Keyboard shortcuts

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