media

package
v0.16.8-beta1 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2020 License: GPL-3.0 Imports: 4 Imported by: 14

Documentation

Overview

Package media defines an interface which must be implemented by media upload/download handlers.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetIdFromUrl added in v0.15.7

func GetIdFromUrl(url string, serveUrl string) types.Uid

GetIdFromUrl is a helper method for extracting file ID from a URL.

Types

type Handler

type Handler interface {
	// Init initializes the media upload handler.
	Init(jsconf string) error

	// Check if redirect is required.
	// Redirect can be used to serve files from a different external server.
	Redirect(method, url string) (string, error)

	// Upload processes request for file upload.
	Upload(fdef *types.FileDef, file io.ReadSeeker) (string, error)

	// Download processes request for file download.
	Download(url string) (*types.FileDef, ReadSeekCloser, error)

	// Delete deletes file from storage.
	Delete(locations []string) error

	// GetIdFromUrl extracts file ID from download URL.
	GetIdFromUrl(url string) types.Uid
}

Handler is an interface which must be implemented by media handlers (uploaders-downloaders).

type ReadSeekCloser

type ReadSeekCloser interface {
	io.Reader
	io.Seeker
	io.Closer
}

ReadSeekCloser must be implemented by the media being downloaded.

Directories

Path Synopsis
Package fs implements github.com/tinode/chat/server/media interface by storing media objects in a single directory in the file system.
Package fs implements github.com/tinode/chat/server/media interface by storing media objects in a single directory in the file system.
Package s3 implements media interface by storing media objects in Amazon S3 bucket.
Package s3 implements media interface by storing media objects in Amazon S3 bucket.

Jump to

Keyboard shortcuts

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