Documentation ¶
Overview ¶
Package box provides an interface to the Box object storage system.
Index ¶
- func NewFs(name, root string) (fs.Fs, error)
- type Fs
- func (f *Fs) Copy(src fs.Object, remote string) (fs.Object, error)
- func (f *Fs) CreateDir(pathID, leaf string) (newID string, err error)
- func (f *Fs) DirCacheFlush()
- func (f *Fs) DirMove(src fs.Fs, srcRemote, dstRemote string) error
- func (f *Fs) Features() *fs.Features
- func (f *Fs) FindLeaf(pathID, leaf string) (pathIDOut string, found bool, err error)
- func (f *Fs) Hashes() fs.HashSet
- func (f *Fs) List(dir string) (entries fs.DirEntries, err error)
- func (f *Fs) Mkdir(dir string) error
- func (f *Fs) Move(src fs.Object, remote string) (fs.Object, error)
- func (f *Fs) Name() string
- func (f *Fs) NewObject(remote string) (fs.Object, error)
- func (f *Fs) Precision() time.Duration
- func (f *Fs) Purge() error
- func (f *Fs) Put(in io.Reader, src fs.ObjectInfo, options ...fs.OpenOption) (fs.Object, error)
- func (f *Fs) PutStream(in io.Reader, src fs.ObjectInfo, options ...fs.OpenOption) (fs.Object, error)
- func (f *Fs) PutUnchecked(in io.Reader, src fs.ObjectInfo, options ...fs.OpenOption) (fs.Object, error)
- func (f *Fs) Rmdir(dir string) error
- func (f *Fs) Root() string
- func (f *Fs) String() string
- type Object
- func (o *Object) Fs() fs.Info
- func (o *Object) Hash(t fs.HashType) (string, error)
- func (o *Object) ModTime() time.Time
- func (o *Object) Open(options ...fs.OpenOption) (in io.ReadCloser, err error)
- func (o *Object) Remote() string
- func (o *Object) Remove() error
- func (o *Object) SetModTime(modTime time.Time) error
- func (o *Object) Size() int64
- func (o *Object) Storable() bool
- func (o *Object) String() string
- func (o *Object) Update(in io.Reader, src fs.ObjectInfo, options ...fs.OpenOption) (err error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Fs ¶
type Fs struct {
// contains filtered or unexported fields
}
Fs represents a remote box
func (*Fs) Copy ¶
Copy src to this remote using server side copy operations.
This is stored with the remote path given ¶
It returns the destination Object and a possible error ¶
Will only be called if src.Fs().Name() == f.Name()
If it isn't possible then return fs.ErrorCantCopy
func (*Fs) DirCacheFlush ¶
func (f *Fs) DirCacheFlush()
DirCacheFlush resets the directory cache - used in testing as an optional interface
func (*Fs) DirMove ¶
DirMove moves src, srcRemote to this remote at dstRemote using server side move operations.
Will only be called if src.Fs().Name() == f.Name()
If it isn't possible then return fs.ErrorCantDirMove
If destination exists then return fs.ErrorDirExists
func (*Fs) List ¶
func (f *Fs) List(dir string) (entries fs.DirEntries, err error)
List the objects and directories in dir into entries. The entries can be returned in any order but should be for a complete directory.
dir should be "" to list the root, and should not have trailing slashes.
This should return ErrDirNotFound if the directory isn't found.
func (*Fs) Move ¶
Move src to this remote using server side move operations.
This is stored with the remote path given ¶
It returns the destination Object and a possible error ¶
Will only be called if src.Fs().Name() == f.Name()
If it isn't possible then return fs.ErrorCantMove
func (*Fs) NewObject ¶
NewObject finds the Object at remote. If it can't be found it returns the error fs.ErrorObjectNotFound.
func (*Fs) Purge ¶
Purge deletes all the files and the container
Optional interface: Only implement this if you have a way of deleting all the files quicker than just running Remove() on the result of List()
func (*Fs) Put ¶
func (f *Fs) Put(in io.Reader, src fs.ObjectInfo, options ...fs.OpenOption) (fs.Object, error)
Put the object
Copy the reader in to the new object which is returned ¶
The new object may have been created if an error is returned
func (*Fs) PutStream ¶
func (f *Fs) PutStream(in io.Reader, src fs.ObjectInfo, options ...fs.OpenOption) (fs.Object, error)
PutStream uploads to the remote path with the modTime given of indeterminate size
func (*Fs) PutUnchecked ¶
func (f *Fs) PutUnchecked(in io.Reader, src fs.ObjectInfo, options ...fs.OpenOption) (fs.Object, error)
PutUnchecked the object into the container
This will produce an error if the object already exists ¶
Copy the reader in to the new object which is returned ¶
The new object may have been created if an error is returned
type Object ¶
type Object struct {
// contains filtered or unexported fields
}
Object describes a box object
Will definitely have info but maybe not meta
func (*Object) ModTime ¶
ModTime returns the modification time of the object
It attempts to read the objects mtime and if that isn't present the LastModified returned in the http headers
func (*Object) Open ¶
func (o *Object) Open(options ...fs.OpenOption) (in io.ReadCloser, err error)
Open an object for read
func (*Object) SetModTime ¶
SetModTime sets the modification time of the local fs object
func (*Object) Update ¶
func (o *Object) Update(in io.Reader, src fs.ObjectInfo, options ...fs.OpenOption) (err error)
Update the object with the contents of the io.Reader, modTime and size
If existing is set then it updates the object rather than creating a new one ¶
The new object may have been created if an error is returned