lfs

package
v1.3.2 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2017 License: MIT, MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BatchHandler

func BatchHandler(ctx *context.Context)

BatchHandler provides the batch api

func ContentMatcher

func ContentMatcher(r macaron.Request) bool

ContentMatcher provides a mux.MatcherFunc that only allows requests that contain an Accept header with the contentMediaType

func MetaMatcher

func MetaMatcher(r macaron.Request) bool

MetaMatcher provides a mux.MatcherFunc that only allows requests that contain an Accept header with the metaMediaType

func ObjectOidHandler

func ObjectOidHandler(ctx *context.Context)

ObjectOidHandler is the main request routing entry point into LFS server functions

func PostHandler

func PostHandler(ctx *context.Context)

PostHandler instructs the client how to upload data

func PutHandler

func PutHandler(ctx *context.Context)

PutHandler receives data from the client and puts it into the content store

func VerifyHandler added in v1.3.1

func VerifyHandler(ctx *context.Context)

VerifyHandler verify oid and its size from the content store

Types

type BatchResponse

type BatchResponse struct {
	Transfer string            `json:"transfer,omitempty"`
	Objects  []*Representation `json:"objects"`
}

BatchResponse contains multiple object metadata Representation structures for use with the batch API.

type BatchVars

type BatchVars struct {
	Transfers []string       `json:"transfers,omitempty"`
	Operation string         `json:"operation"`
	Objects   []*RequestVars `json:"objects"`
}

BatchVars contains multiple RequestVars processed in one batch operation. https://github.com/git-lfs/git-lfs/blob/master/docs/api/batch.md

type ContentStore

type ContentStore struct {
	BasePath string
}

ContentStore provides a simple file system based storage.

func (*ContentStore) Exists

func (s *ContentStore) Exists(meta *models.LFSMetaObject) bool

Exists returns true if the object exists in the content store.

func (*ContentStore) Get

func (s *ContentStore) Get(meta *models.LFSMetaObject, fromByte int64) (io.ReadCloser, error)

Get takes a Meta object and retrieves the content from the store, returning it as an io.Reader. If fromByte > 0, the reader starts from that byte

func (*ContentStore) Put

func (s *ContentStore) Put(meta *models.LFSMetaObject, r io.Reader) error

Put takes a Meta object and an io.Reader and writes the content to the store.

func (*ContentStore) Verify added in v1.3.1

func (s *ContentStore) Verify(meta *models.LFSMetaObject) (bool, error)

Verify returns true if the object exists in the content store and size is correct.

type ObjectError

type ObjectError struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
}

ObjectError defines the JSON structure returned to the client in case of an error

type Representation

type Representation struct {
	Oid     string           `json:"oid"`
	Size    int64            `json:"size"`
	Actions map[string]*link `json:"actions"`
	Error   *ObjectError     `json:"error,omitempty"`
}

Representation is object metadata as seen by clients of the lfs server.

func Represent

func Represent(rv *RequestVars, meta *models.LFSMetaObject, download, upload bool) *Representation

Represent takes a RequestVars and Meta and turns it into a Representation suitable for json encoding

type RequestVars

type RequestVars struct {
	Oid           string
	Size          int64
	User          string
	Password      string
	Repo          string
	Authorization string
}

RequestVars contain variables from the HTTP request. Variables from routing, json body decoding, and some headers are stored.

func (v *RequestVars) ObjectLink() string

ObjectLink builds a URL linking to the object.

func (v *RequestVars) VerifyLink() string

VerifyLink builds a URL for verifying the object.

Jump to

Keyboard shortcuts

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