Documentation ¶
Overview ¶
Package gdrive provided support for local file system.
Code generated by go generate via cmd/definitions; DO NOT EDIT.
Index ¶
- Constants
- func NewStorager(pairs ...types.Pair) (types.Storager, error)
- func WithDefaultStoragePairs(v DefaultStoragePairs) Pair
- func WithStorageFeatures(v StorageFeatures) Pair
- type DefaultStoragePairs
- type ObjectSystemMetadata
- type Storage
- func (s *Storage) Copy(src string, dst string, pairs ...Pair) (err error)
- func (s *Storage) CopyWithContext(ctx context.Context, src string, dst string, pairs ...Pair) (err error)
- func (s *Storage) Create(path string, pairs ...Pair) (o *Object)
- func (s *Storage) CreateDir(path string, pairs ...Pair) (o *Object, err error)
- func (s *Storage) CreateDirWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)
- func (s *Storage) Delete(path string, pairs ...Pair) (err error)
- func (s *Storage) DeleteWithContext(ctx context.Context, path string, pairs ...Pair) (err error)
- func (s *Storage) List(path string, pairs ...Pair) (oi *ObjectIterator, err error)
- func (s *Storage) ListWithContext(ctx context.Context, path string, pairs ...Pair) (oi *ObjectIterator, err error)
- func (s *Storage) Metadata(pairs ...Pair) (meta *StorageMeta)
- func (s *Storage) Read(path string, w io.Writer, pairs ...Pair) (n int64, err error)
- func (s *Storage) ReadWithContext(ctx context.Context, path string, w io.Writer, pairs ...Pair) (n int64, err error)
- func (s *Storage) Stat(path string, pairs ...Pair) (o *Object, err error)
- func (s *Storage) StatWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)
- func (s *Storage) String() string
- func (s *Storage) Write(path string, r io.Reader, size int64, pairs ...Pair) (n int64, err error)
- func (s *Storage) WriteWithContext(ctx context.Context, path string, r io.Reader, size int64, pairs ...Pair) (n int64, err error)
- type StorageFeatures
- type StorageSystemMetadata
Constants ¶
const Type = "gdrive"
Type is the type for gdrive
Variables ¶
This section is empty.
Functions ¶
func NewStorager ¶
NewStorager will create Storager only.
func WithDefaultStoragePairs ¶
func WithDefaultStoragePairs(v DefaultStoragePairs) Pair
WithDefaultStoragePairs will apply default_storage_pairs value to Options.
DefaultStoragePairs set default pairs for storager actions
func WithStorageFeatures ¶
func WithStorageFeatures(v StorageFeatures) Pair
WithStorageFeatures will apply storage_features value to Options.
StorageFeatures set storage features
Types ¶
type DefaultStoragePairs ¶
type DefaultStoragePairs struct { Copy []Pair Create []Pair CreateDir []Pair Delete []Pair List []Pair Metadata []Pair Read []Pair Stat []Pair Write []Pair }
DefaultStoragePairs is default pairs for specific action
type ObjectSystemMetadata ¶
type ObjectSystemMetadata struct { }
ObjectSystemMetadata stores system metadata for object.
func GetObjectSystemMetadata ¶
func GetObjectSystemMetadata(o *Object) ObjectSystemMetadata
GetObjectSystemMetadata will get ObjectSystemMetadata from Object.
- This function should not be called by service implementer. - The returning ObjectServiceMetadata is read only and should not be modified.
type Storage ¶
type Storage struct { types.UnimplementedStorager types.UnimplementedDirer types.UnimplementedCopier // contains filtered or unexported fields }
Storage is the example client.
func (*Storage) Copy ¶
Copy will copy an Object or multiple object in the service.
## Behavior
- Copy only copy one and only one object.
- Service DON'T NEED to support copy a non-empty directory or copy files recursively.
- User NEED to implement copy a non-empty directory and copy recursively by themself.
- Copy a file to a directory SHOULD return `ErrObjectModeInvalid`.
- Copy SHOULD NOT return an error as dst object exists.
- Service that has native support for `overwrite` doesn't NEED to check the dst object exists or not.
- Service that doesn't have native support for `overwrite` SHOULD check and delete the dst object if exists.
- A successful copy opration should be complete, which means the dst object's content and metadata should be the same as src object.
This function will create a context by default.
func (*Storage) CopyWithContext ¶
func (s *Storage) CopyWithContext(ctx context.Context, src string, dst string, pairs ...Pair) (err error)
CopyWithContext will copy an Object or multiple object in the service.
## Behavior
- Copy only copy one and only one object.
- Service DON'T NEED to support copy a non-empty directory or copy files recursively.
- User NEED to implement copy a non-empty directory and copy recursively by themself.
- Copy a file to a directory SHOULD return `ErrObjectModeInvalid`.
- Copy SHOULD NOT return an error as dst object exists.
- Service that has native support for `overwrite` doesn't NEED to check the dst object exists or not.
- Service that doesn't have native support for `overwrite` SHOULD check and delete the dst object if exists.
- A successful copy opration should be complete, which means the dst object's content and metadata should be the same as src object.
func (*Storage) Create ¶
Create will create a new object without any api call.
## Behavior
- Create SHOULD NOT send any API call. - Create SHOULD accept ObjectMode pair as object mode.
This function will create a context by default.
func (*Storage) CreateDir ¶
CreateDir will create a new dir object.
This function will create a context by default.
func (*Storage) CreateDirWithContext ¶
func (s *Storage) CreateDirWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)
CreateDirWithContext will create a new dir object.
func (*Storage) Delete ¶
Delete will delete an object from service.
## Behavior
- Delete only delete one and only one object.
- Service DON'T NEED to support remove all.
- User NEED to implement remove_all by themself.
- Delete is idempotent.
- Successful delete always return nil error.
- Delete SHOULD never return `ObjectNotExist`
- Delete DON'T NEED to check the object exist or not.
This function will create a context by default.
func (*Storage) DeleteWithContext ¶
DeleteWithContext will delete an object from service.
## Behavior
- Delete only delete one and only one object.
- Service DON'T NEED to support remove all.
- User NEED to implement remove_all by themself.
- Delete is idempotent.
- Successful delete always return nil error.
- Delete SHOULD never return `ObjectNotExist`
- Delete DON'T NEED to check the object exist or not.
func (*Storage) List ¶
List will return list a specific path.
## Behavior
- Service SHOULD support default `ListMode`. - Service SHOULD implement `ListModeDir` without the check for `VirtualDir`. - Service DON'T NEED to `Stat` while in `List`.
This function will create a context by default.
func (*Storage) ListWithContext ¶
func (s *Storage) ListWithContext(ctx context.Context, path string, pairs ...Pair) (oi *ObjectIterator, err error)
ListWithContext will return list a specific path.
## Behavior
- Service SHOULD support default `ListMode`. - Service SHOULD implement `ListModeDir` without the check for `VirtualDir`. - Service DON'T NEED to `Stat` while in `List`.
func (*Storage) Metadata ¶
func (s *Storage) Metadata(pairs ...Pair) (meta *StorageMeta)
Metadata will return current storager metadata.
This function will create a context by default.
func (*Storage) Read ¶
Read will read the file's data.
This function will create a context by default.
func (*Storage) ReadWithContext ¶
func (s *Storage) ReadWithContext(ctx context.Context, path string, w io.Writer, pairs ...Pair) (n int64, err error)
ReadWithContext will read the file's data.
func (*Storage) Stat ¶
Stat will stat a path to get info of an object.
## Behavior
- Stat SHOULD accept ObjectMode pair as hints.
- Service COULD have different implementations for different object mode.
- Service SHOULD check if returning ObjectMode is match
This function will create a context by default.
func (*Storage) StatWithContext ¶
func (s *Storage) StatWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)
StatWithContext will stat a path to get info of an object.
## Behavior
- Stat SHOULD accept ObjectMode pair as hints.
- Service COULD have different implementations for different object mode.
- Service SHOULD check if returning ObjectMode is match
func (*Storage) Write ¶
Write will write data into a file.
## Behavior
- Write SHOULD NOT return an error as the object exist.
- Service that has native support for `overwrite` doesn't NEED to check the object exists or not.
- Service that doesn't have native support for `overwrite` SHOULD check and delete the object if exists.
- A successful write operation SHOULD be complete, which means the object's content and metadata should be the same as specified in write request.
This function will create a context by default.
func (*Storage) WriteWithContext ¶
func (s *Storage) WriteWithContext(ctx context.Context, path string, r io.Reader, size int64, pairs ...Pair) (n int64, err error)
WriteWithContext will write data into a file.
## Behavior
- Write SHOULD NOT return an error as the object exist.
- Service that has native support for `overwrite` doesn't NEED to check the object exists or not.
- Service that doesn't have native support for `overwrite` SHOULD check and delete the object if exists.
- A successful write operation SHOULD be complete, which means the object's content and metadata should be the same as specified in write request.
type StorageFeatures ¶
type StorageFeatures struct { }
type StorageSystemMetadata ¶
type StorageSystemMetadata struct { }
StorageSystemMetadata stores system metadata for storage meta.
func GetStorageSystemMetadata ¶
func GetStorageSystemMetadata(s *StorageMeta) StorageSystemMetadata
GetStorageSystemMetadata will get SystemMetadata from StorageMeta.
- The returning StorageSystemMetadata is read only and should not be modified.