rclone: github.com/ncw/rclone/backend/http Index | Files

package http

import "github.com/ncw/rclone/backend/http"

Package http provides a filesystem interface using golang.org/net/http

It treats HTML pages served from the endpoint as directory listings, and includes any links found as files.

Index

Package Files

http.go

func NewFs Uses

func NewFs(name, root string, m configmap.Mapper) (fs.Fs, error)

NewFs creates a new Fs object from the name and root. It connects to the host specified in the config file.

type Fs Uses

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

Fs stores the interface to the remote HTTP files

func (*Fs) Features Uses

func (f *Fs) Features() *fs.Features

Features returns the optional features of this Fs

func (*Fs) Hashes Uses

func (f *Fs) Hashes() hash.Set

Hashes returns hash.HashNone to indicate remote hashing is unavailable

func (*Fs) List Uses

func (f *Fs) List(ctx context.Context, 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) Mkdir Uses

func (f *Fs) Mkdir(ctx context.Context, dir string) error

Mkdir makes the root directory of the Fs object

func (*Fs) Name Uses

func (f *Fs) Name() string

Name returns the configured name of the file system

func (*Fs) NewObject Uses

func (f *Fs) NewObject(ctx context.Context, remote string) (fs.Object, error)

NewObject creates a new remote http file object

func (*Fs) Precision Uses

func (f *Fs) Precision() time.Duration

Precision is the remote http file system's modtime precision, which we have no way of knowing. We estimate at 1s

func (*Fs) Put Uses

func (f *Fs) Put(ctx context.Context, in io.Reader, src fs.ObjectInfo, options ...fs.OpenOption) (fs.Object, error)

Put in to the remote path with the modTime given of the given size

May create the object even if it returns an error - if so will return the object and the error, otherwise will return nil and the error

func (*Fs) PutStream Uses

func (f *Fs) PutStream(ctx context.Context, 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) Rmdir Uses

func (f *Fs) Rmdir(ctx context.Context, dir string) error

Rmdir removes the root directory of the Fs object

func (*Fs) Root Uses

func (f *Fs) Root() string

Root returns the root for the filesystem

func (*Fs) String Uses

func (f *Fs) String() string

String returns the URL for the filesystem

type Object Uses

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

Object is a remote object that has been stat'd (so it exists, but is not necessarily open for reading)

func (*Object) Fs Uses

func (o *Object) Fs() fs.Info

Fs is the filesystem this remote http file object is located within

func (*Object) Hash Uses

func (o *Object) Hash(ctx context.Context, r hash.Type) (string, error)

Hash returns "" since HTTP (in Go or OpenSSH) doesn't support remote calculation of hashes

func (*Object) MimeType Uses

func (o *Object) MimeType(ctx context.Context) string

MimeType of an Object if known, "" otherwise

func (*Object) ModTime Uses

func (o *Object) ModTime(ctx context.Context) time.Time

ModTime returns the modification time of the remote http file

func (*Object) Open Uses

func (o *Object) Open(ctx context.Context, options ...fs.OpenOption) (in io.ReadCloser, err error)

Open a remote http file object for reading. Seek is supported

func (*Object) Remote Uses

func (o *Object) Remote() string

Remote the name of the remote HTTP file, relative to the fs root

func (*Object) Remove Uses

func (o *Object) Remove(ctx context.Context) error

Remove a remote http file object

func (*Object) SetModTime Uses

func (o *Object) SetModTime(ctx context.Context, modTime time.Time) error

SetModTime sets the modification and access time to the specified time

it also updates the info field

func (*Object) Size Uses

func (o *Object) Size() int64

Size returns the size in bytes of the remote http file

func (*Object) Storable Uses

func (o *Object) Storable() bool

Storable returns whether the remote http file is a regular file (not a directory, symbolic link, block device, character device, named pipe, etc)

func (*Object) String Uses

func (o *Object) String() string

String returns the URL to the remote HTTP file

func (*Object) Update Uses

func (o *Object) Update(ctx context.Context, in io.Reader, src fs.ObjectInfo, options ...fs.OpenOption) error

Update in to the object with the modTime given of the given size

type Options Uses

type Options struct {
    Endpoint string          `config:"url"`
    NoSlash  bool            `config:"no_slash"`
    Headers  fs.CommaSepList `config:"headers"`
}

Options defines the configuration for this backend

Package http imports 17 packages (graph) and is imported by 1 packages. Updated 2019-08-22. Refresh now. Tools for package owners.