1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
package creds
type AccessMode string
const (
NoneAccess AccessMode = "none"
BasicAccess AccessMode = "basic"
PrivateAccess AccessMode = "private"
NegotiateAccess AccessMode = "negotiate"
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
}
// AllAccessModes returns all access modes in the order they should be tried.
func AllAccessModes() []AccessMode {
return []AccessMode{
NoneAccess,
NegotiateAccess,
BasicAccess,
}
}
|