remote

package
v1.4.3 Latest Latest
Warning

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

Go to latest
Published: Jun 12, 2024 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OverwriteHeader = auth.CrHeaderPrefix + "Overwrite"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client interface {
	// CreateUploadSession creates remote upload session
	CreateUploadSession(ctx context.Context, session *serializer.UploadSession, ttl int64, overwrite bool) error
	// GetUploadURL signs an url for uploading file
	GetUploadURL(ttl int64, sessionID string) (string, string, error)
	// Upload uploads file to remote server
	Upload(ctx context.Context, file fsctx.FileHeader) error
	// DeleteUploadSession deletes remote upload session
	DeleteUploadSession(ctx context.Context, sessionID string) error
}

Client to operate uploading to remote slave server

func NewClient

func NewClient(policy *model.Policy) (Client, error)

NewClient creates new Client from given policy

type Driver

type Driver struct {
	Client       request.Client
	Policy       *model.Policy
	AuthInstance auth.Auth
	// contains filtered or unexported fields
}

Driver 远程存储策略适配器

func NewDriver

func NewDriver(policy *model.Policy) (*Driver, error)

NewDriver initializes a new Driver from policy TODO: refactor all method into upload client

func (*Driver) CancelToken

func (handler *Driver) CancelToken(ctx context.Context, uploadSession *serializer.UploadSession) error

取消上传凭证

func (*Driver) Delete

func (handler *Driver) Delete(ctx context.Context, files []string) ([]string, error)

Delete 删除一个或多个文件, 返回未删除的文件,及遇到的最后一个错误

func (*Driver) Get

func (handler *Driver) Get(ctx context.Context, path string) (response.RSCloser, error)

Get 获取文件内容

func (*Driver) List

func (handler *Driver) List(ctx context.Context, path string, recursive bool) ([]response.Object, error)

List 列取文件

func (*Driver) Put

func (handler *Driver) Put(ctx context.Context, file fsctx.FileHeader) error

Put 将文件流保存到指定目录

func (*Driver) Source

func (handler *Driver) Source(
	ctx context.Context,
	path string,
	baseURL url.URL,
	ttl int64,
	isDownload bool,
	speed int,
) (string, error)

Source 获取外链URL

func (*Driver) Thumb

func (handler *Driver) Thumb(ctx context.Context, path string) (*response.ContentResponse, error)

Thumb 获取文件缩略图

func (*Driver) Token

func (handler *Driver) Token(ctx context.Context, ttl int64, uploadSession *serializer.UploadSession, file fsctx.FileHeader) (*serializer.UploadCredential, error)

Token 获取上传策略和认证Token

Jump to

Keyboard shortcuts

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