Documentation ¶
Index ¶
- Variables
- type Client
- func (c *Client) CreateResource(request *mru.Request) (string, error)
- func (c *Client) Download(hash, path string) (*File, error)
- func (c *Client) DownloadDirectory(hash, path, destDir string) error
- func (c *Client) DownloadFile(hash, path, dest string) error
- func (c *Client) DownloadManifest(hash string) (*api.Manifest, bool, error)
- func (c *Client) DownloadRaw(hash string) (io.ReadCloser, bool, error)
- func (c *Client) GetResource(manifestAddressOrDomain string) (io.ReadCloser, error)
- func (c *Client) GetResourceMetadata(manifestAddressOrDomain string) (*mru.Request, error)
- func (c *Client) List(hash, prefix string) (*api.ManifestList, error)
- func (c *Client) MultipartUpload(hash string, uploader Uploader) (string, error)
- func (c *Client) TarUpload(hash string, uploader Uploader, toEncrypt bool) (string, error)
- func (c *Client) UpdateResource(request *mru.Request) error
- func (c *Client) Upload(file *File, manifest string, toEncrypt bool) (string, error)
- func (c *Client) UploadDirectory(dir, defaultPath, manifest string, toEncrypt bool) (string, error)
- func (c *Client) UploadManifest(m *api.Manifest, toEncrypt bool) (string, error)
- func (c *Client) UploadRaw(r io.Reader, size int64, toEncrypt bool) (string, error)
- type DirectoryUploader
- type File
- type FileUploader
- type UploadFn
- type Uploader
- type UploaderFunc
Constants ¶
This section is empty.
Variables ¶
var ( DefaultGateway = "http://localhost:8500" DefaultClient = NewClient(DefaultGateway) )
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
Gateway string
}
Client wraps interaction with a swarm HTTP gateway.
func (*Client) CreateResource ¶
CreateResource creates a Mutable Resource with the given name and frequency, initializing it with the provided data. Data is interpreted as multihash or not depending on the multihash parameter. startTime=0 means "now" Returns the resulting Mutable Resource manifest address that you can use to include in an ENS Resolver (setContent) or reference future updates (Client.UpdateResource)
func (*Client) Download ¶
Download downloads a file with the given path from the swarm manifest with the given hash (i.e. it gets bzz:/<hash>/<path>)
func (*Client) DownloadDirectory ¶
DownloadDirectory downloads the files contained in a swarm manifest under the given path into a local directory (existing files will be overwritten)
func (*Client) DownloadFile ¶
DownloadFile downloads a single file into the destination directory if the manifest entry does not specify a file name - it will fallback to the hash of the file as a filename
func (*Client) DownloadManifest ¶
DownloadManifest downloads a swarm manifest
func (*Client) DownloadRaw ¶
DownloadRaw downloads raw data from swarm and it returns a ReadCloser and a bool whether the content was encrypted
func (*Client) GetResource ¶
func (c *Client) GetResource(manifestAddressOrDomain string) (io.ReadCloser, error)
GetResource returns a byte stream with the raw content of the resource manifestAddressOrDomain is the address you obtained in CreateResource or an ENS domain whose Resolver points to that address
func (*Client) GetResourceMetadata ¶
GetResourceMetadata returns a structure that describes the Mutable Resource manifestAddressOrDomain is the address you obtained in CreateResource or an ENS domain whose Resolver points to that address
func (*Client) List ¶
func (c *Client) List(hash, prefix string) (*api.ManifestList, error)
List list files in a swarm manifest which have the given prefix, grouping common prefixes using "/" as a delimiter.
For example, if the manifest represents the following directory structure:
file1.txt file2.txt dir1/file3.txt dir1/dir2/file4.txt
Then:
- a prefix of "" would return [dir1/, file1.txt, file2.txt] - a prefix of "file" would return [file1.txt, file2.txt] - a prefix of "dir1/" would return [dir1/dir2/, dir1/file3.txt]
where entries ending with "/" are common prefixes.
func (*Client) MultipartUpload ¶
MultipartUpload uses the given Uploader to upload files to swarm as a multipart form, returning the resulting manifest hash
func (*Client) TarUpload ¶
TarUpload uses the given Uploader to upload files to swarm as a tar stream, returning the resulting manifest hash
func (*Client) UpdateResource ¶
UpdateResource allows you to set a new version of your content
func (*Client) Upload ¶
Upload uploads a file to swarm and either adds it to an existing manifest (if the manifest argument is non-empty) or creates a new manifest containing the file, returning the resulting manifest hash (the file will then be available at bzz:/<hash>/<path>)
func (*Client) UploadDirectory ¶
UploadDirectory uploads a directory tree to swarm and either adds the files to an existing manifest (if the manifest argument is non-empty) or creates a new manifest, returning the resulting manifest hash (files from the directory will then be available at bzz:/<hash>/path/to/file), with the file specified in defaultPath being uploaded to the root of the manifest (i.e. bzz:/<hash>/)
func (*Client) UploadManifest ¶
UploadManifest uploads the given manifest to swarm
type DirectoryUploader ¶
DirectoryUploader uploads all files in a directory, optionally uploading a file to the default path
func (*DirectoryUploader) Upload ¶
func (d *DirectoryUploader) Upload(upload UploadFn) error
Upload performs the upload of the directory and default path
type File ¶
type File struct { io.ReadCloser api.ManifestEntry }
File represents a file in a swarm manifest and is used for uploading and downloading content to and from swarm
type FileUploader ¶
type FileUploader struct {
File *File
}
FileUploader uploads a single file
func (*FileUploader) Upload ¶
func (f *FileUploader) Upload(upload UploadFn) error
Upload performs the upload of the file
type UploadFn ¶
UploadFn is the type of function passed to an Uploader to perform the upload of a single file (for example, a directory uploader would call a provided UploadFn for each file in the directory tree)
type UploaderFunc ¶
func (UploaderFunc) Upload ¶
func (u UploaderFunc) Upload(upload UploadFn) error