getter

package
v0.1.137 Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2022 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Inspired by similar approach in: https://github.com/helm/helm (Apache 2.0 License).

Inspired by similar approach in: https://github.com/helm/helm (Apache 2.0 License).

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Constructor

type Constructor func(options ...Option) (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(ctx context.Context, url string, options ...Option) (*bytes.Buffer, error)
}

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

func NewHTTPGetter

func NewHTTPGetter(options ...Option) (Getter, error)

NewHTTPGetter constructs a valid http/https client as a Getter.

type HTTPGetter

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

HTTPGetter is the default HTTP(/S) backend handler.

func (*HTTPGetter) Get

func (g *HTTPGetter) Get(ctx context.Context, href string, options ...Option) (*bytes.Buffer, error)

Get performs a Get from repo.Getter and returns the body.

type Option

type Option func(*options)

Option allows specifying various settings configurable by the user for overriding the defaults used when performing Get operations with the Getter.

func WithBasicAuth

func WithBasicAuth(username, password string) Option

WithBasicAuth sets the request's Authorization header to use the provided credentials.

func WithInsecureSkipVerifyTLS

func WithInsecureSkipVerifyTLS(insecureSkipVerifyTLS bool) Option

WithInsecureSkipVerifyTLS determines if a TLS Certificate will be checked.

func WithTLSClientConfig

func WithTLSClientConfig(certFile, keyFile, caFile string) Option

WithTLSClientConfig sets the client auth with the provided credentials.

func WithTimeout

func WithTimeout(timeout time.Duration) Option

WithTimeout sets the timeout for requests.

func WithURL

func WithURL(url string) Option

WithURL informs the getter the server name that will be used when fetching objects. Used in conjunction with WithTLSClientConfig to set the TLSClientConfig's server name.

func WithUserAgent

func WithUserAgent(userAgent string) Option

WithUserAgent sets the request's User-Agent header to use the provided agent name.

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 (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() Providers

func (Providers) ByScheme

func (p Providers) ByScheme(scheme string) (Getter, 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
y or Y : Canonical URL