Documentation ¶
Index ¶
- func BatchHandler(ctx *context.Context)
- func ContentMatcher(r macaron.Request) bool
- func MetaMatcher(r macaron.Request) bool
- func ObjectOidHandler(ctx *context.Context)
- func PostHandler(ctx *context.Context)
- func PutHandler(ctx *context.Context)
- func VerifyHandler(ctx *context.Context)
- type BatchResponse
- type BatchVars
- type ContentStore
- func (s *ContentStore) Exists(meta *models.LFSMetaObject) bool
- func (s *ContentStore) Get(meta *models.LFSMetaObject, fromByte int64) (io.ReadCloser, error)
- func (s *ContentStore) Put(meta *models.LFSMetaObject, r io.Reader) error
- func (s *ContentStore) Verify(meta *models.LFSMetaObject) (bool, error)
- type ObjectError
- type Representation
- type RequestVars
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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 ¶
ObjectOidHandler is the main request routing entry point into LFS server functions
func PostHandler ¶
PostHandler instructs the client how to upload data
func PutHandler ¶
PutHandler receives data from the client and puts it into the content store
func VerifyHandler ¶ added in v1.3.0
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.0
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 ¶
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 (*RequestVars) ObjectLink ¶
func (v *RequestVars) ObjectLink() string
ObjectLink builds a URL linking to the object.
func (*RequestVars) VerifyLink ¶ added in v1.3.0
func (v *RequestVars) VerifyLink() string
VerifyLink builds a URL for verifying the object.