getter

package
Version: v2.5.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2017 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package getter provides a generalize tool for fetching data by scheme.

This provides a method by which the plugin system can load arbitrary protocol handlers based upon a URL scheme.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Constructor

type Constructor func(URL, CertFile, KeyFile, CAFile string) (Getter, error)

Constructor is the function for every getter which creates a specific instance according to the configuration

type Getter

type Getter interface {
	//Get file content by url string
	Get(url string) (*bytes.Buffer, error)
}

Getter is an interface to support GET to the specified URL.

type Provider

type Provider struct {
	Schemes []string
	New     Constructor
}

Provider represents any getter and the schemes that it supports.

For example, an HTTP provider may provide one getter that handles both 'http' and 'https' schemes.

func ByScheme

func ByScheme(scheme string, settings environment.EnvSettings) (Provider, error)

ByScheme returns a getter for the given scheme.

If the scheme is not supported, this will return an error.

func (Provider) Provides

func (p Provider) Provides(scheme string) bool

Provides returns true if the given scheme is supported by this Provider.

type Providers

type Providers []Provider

Providers is a collection of Provider objects.

func All

func All(settings environment.EnvSettings) Providers

All finds all of the registered getters as a list of Provider instances. Currently the build-in http/https getter and the discovered plugins with downloader notations are collected.

func (Providers) ByScheme

func (p Providers) ByScheme(scheme string) (Constructor, error)

ByScheme returns a Provider that handles the given scheme.

If no provider handles this scheme, this will return an error.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL