git-lfs/creds/access.go
brian m. carlson 6d29072003
creds: move Access types into creds package
In the future, we're going to need to access the access-related types
in the lfshttp package.  To avoid an import loop, move Access and
AccessMode into the creds package.  Add constructors and accessors since
the members are private.
2019-12-09 15:35:52 +00:00

35 lines
695 B
Go

package creds
type AccessMode string
const (
NoneAccess AccessMode = "none"
BasicAccess AccessMode = "basic"
PrivateAccess AccessMode = "private"
NegotiateAccess AccessMode = "negotiate"
NTLMAccess AccessMode = "ntlm"
EmptyAccess AccessMode = ""
)
type Access struct {
mode AccessMode
url string
}
func NewAccess(mode AccessMode, url string) Access {
return Access{url: url, mode: mode}
}
// Returns a copy of an AccessMode with the mode upgraded to newMode
func (a *Access) Upgrade(newMode AccessMode) Access {
return Access{url: a.url, mode: newMode}
}
func (a *Access) Mode() AccessMode {
return a.mode
}
func (a *Access) URL() string {
return a.url
}