fileserver

package
v0.0.0-...-1da2387 Latest Latest
Warning

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

Go to latest
Published: Feb 7, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidEndpoint    = errors.New("s3: invalid endpoint")
	ErrInvalidCredentials = errors.New("s3: invalid credentials")
	ErrInvalidBucket      = errors.New("s3: invalid bucket")
)
View Source
var ErrNotFound = errors.New("fileserver: not found")

Functions

func Transfer

func Transfer(pattern string, from, to FileServer) (int, error)

Transfer all files matching a given pattern from one FileServer to another. Returns the total number of bytes transferred or an error.

Types

type FileInfo

type FileInfo struct {
	Name string
	Size int
}

type FileServer

type FileServer interface {
	Ping() error
	Search(pattern string) ([]FileInfo, error)
	Read(name string) (io.Reader, error)
	Write(info FileInfo, r io.Reader) error
}

Represents an active connection to a FileServer (S3, FTP, etc).

type MemoryFileServer

type MemoryFileServer struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func NewMemory

func NewMemory(info MemoryInfo) (*MemoryFileServer, error)

func (*MemoryFileServer) Ping

func (fs *MemoryFileServer) Ping() error

func (*MemoryFileServer) Read

func (fs *MemoryFileServer) Read(name string) (io.Reader, error)

func (*MemoryFileServer) Search

func (fs *MemoryFileServer) Search(pattern string) ([]FileInfo, error)

func (*MemoryFileServer) Write

func (fs *MemoryFileServer) Write(info FileInfo, r io.Reader) error

type MemoryInfo

type MemoryInfo struct{}

type S3FileServer

type S3FileServer struct {
	// contains filtered or unexported fields
}

func NewS3

func NewS3(info S3Info) (*S3FileServer, error)

func (*S3FileServer) Ping

func (fs *S3FileServer) Ping() error

func (*S3FileServer) Read

func (fs *S3FileServer) Read(name string) (io.Reader, error)

func (*S3FileServer) Search

func (fs *S3FileServer) Search(pattern string) ([]FileInfo, error)

func (*S3FileServer) Write

func (fs *S3FileServer) Write(file FileInfo, r io.Reader) error

type S3Info

type S3Info struct {
	Endpoint        string
	Bucket          string
	AccessKeyID     string
	SecretAccessKey string
}

Jump to

Keyboard shortcuts

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