server

package
v4.0.0-rc7+incompatible Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2017 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

Package server implements the git server protocol. For most use cases, the transport-specific implementations should be used.

Index

Constants

This section is empty.

Variables

View Source
var DefaultLoader = NewFilesystemLoader(os.New("/"))

DefaultLoader is a filesystem loader ignoring host and resolving paths to /.

View Source
var DefaultServer = NewServer(DefaultLoader)
View Source
var (
	ErrUpdateReference = errors.New("failed to update ref")
)

Functions

func NewServer

func NewServer(loader Loader) transport.Transport

NewServer returns a transport.Transport implementing a git server, independent of transport. Each transport must wrap this.

Types

type Loader

type Loader interface {
	// Load loads a storer.Storer given a transport.Endpoint.
	// Returns transport.ErrRepositoryNotFound if the repository does not
	// exist.
	Load(ep transport.Endpoint) (storer.Storer, error)
}

Loader loads repository's storer.Storer based on an optional host and a path.

func NewFilesystemLoader

func NewFilesystemLoader(base billy.Filesystem) Loader

NewFilesystemLoader creates a Loader that ignores host and resolves paths with a given base filesystem.

type MapLoader

type MapLoader map[transport.Endpoint]storer.Storer

MapLoader is a Loader that uses a lookup map of storer.Storer by transport.Endpoint.

func (MapLoader) Load

Load returns a storer.Storer for given a transport.Endpoint by looking it up in the map. Returns transport.ErrRepositoryNotFound if the endpoint does not exist.

Jump to

Keyboard shortcuts

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