package swift import "github.com/ncw/swift" // auth is an authenticator for swift type auth struct { swift.Authenticator storageURL string } // newAuth creates a swift authenticator wrapper to override the // StorageUrl method. func newAuth(Authenticator swift.Authenticator, storageURL string) *auth { return &auth{ Authenticator: Authenticator, storageURL: storageURL, } } // The public storage URL - set Internal to true to read // internal/service net URL func (a *auth) StorageUrl(Internal bool) string { if a.storageURL != "" { return a.storageURL } return a.Authenticator.StorageUrl(Internal) } // Check the interfaces are satisfied var _ swift.Authenticator = (*auth)(nil)