upstream

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Jan 2, 2025 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrURLRequired is returned if the given URL to New is not given.
	ErrURLRequired = errors.New("the URL is required")

	// ErrURLMustContainScheme is returned if the given URL to New did not contain a scheme.
	ErrURLMustContainScheme = errors.New("the URL must contain scheme")

	// ErrInvalidURL is returned if the given hostName to New is not valid.
	ErrInvalidURL = errors.New("the URL is not valid")

	// ErrNotFound is returned if the nar or narinfo were not found.
	ErrNotFound = errors.New("not found")

	// ErrUnexpectedHTTPStatusCode is returned if the response has an unexpected status code.
	ErrUnexpectedHTTPStatusCode = errors.New("unexpected HTTP status code")

	// ErrSignatureValidationFailed is returned if the signature validation of the narinfo has failed.
	ErrSignatureValidationFailed = errors.New("signature validation has failed")
)

Functions

This section is empty.

Types

type Cache

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

Cache represents the upstream cache service.

func New

func New(ctx context.Context, u *url.URL, pubKeys []string) (Cache, error)

func (Cache) GetHostname

func (c Cache) GetHostname() string

GetHostname returns the hostname.

func (Cache) GetNar

func (c Cache) GetNar(ctx context.Context, narURL nar.URL, mutators ...func(*http.Request)) (*http.Response, error)

GetNar returns the NAR archive from the cache server. NOTE: It's the caller responsibility to close the body.

func (Cache) GetNarInfo

func (c Cache) GetNarInfo(ctx context.Context, hash string) (*narinfo.NarInfo, error)

GetNarInfo returns a parsed NarInfo from the cache server.

func (Cache) GetPriority

func (c Cache) GetPriority() uint64

GetPriority returns the priority of this upstream cache.

func (Cache) HasNar added in v0.0.20

func (c Cache) HasNar(ctx context.Context, narURL nar.URL, mutators ...func(*http.Request)) (bool, error)

HasNar returns true if the NAR exists upstream.

func (Cache) HasNarInfo added in v0.0.20

func (c Cache) HasNarInfo(ctx context.Context, hash string) (bool, error)

HasNarInfo returns true if the narinfo exists upstream.

Jump to

Keyboard shortcuts

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