本文整理匯總了Golang中github.com/fxnn/gopath.GoPath.HasErr方法的典型用法代碼示例。如果您正苦於以下問題:Golang GoPath.HasErr方法的具體用法?Golang GoPath.HasErr怎麽用?Golang GoPath.HasErr使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/fxnn/gopath.GoPath
的用法示例。
在下文中一共展示了GoPath.HasErr方法的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: createBasicAuth
func createBasicAuth(realmName string, htpasswdFile gopath.GoPath) *auth.BasicAuth {
var secretProvider = noSecrets
if !htpasswdFile.HasErr() && !htpasswdFile.IsEmpty() {
secretProvider = auth.HtpasswdFileProvider(htpasswdFile.Path())
}
return auth.NewBasicAuthenticator(realmName, secretProvider)
}
示例2: assertPathValidForAnyAccess
// assertPathValidForAnyAccess sets the error flag when the path may not be
// accessed through this application in general.
// User-specific access permissions are NOT regarded here.
func (i *pathIO) assertPathValidForAnyAccess(p gopath.GoPath) {
if p.HasErr() {
i.syncedErrs(p)
} else {
i.assertFileIsNotHidden(p)
i.assertPathInsideContentRoot(p)
}
}
示例3: syncedErrs
// syncedErrs couples GoPath's error handling with errStore's error handling.
// When the GoPath contained an error, it will be stored in the errStore, so
// that all following ops become no-ops.
// When however the errStore contains an error, an errorneous GoPath will be
// returned.
func (s *errStore) syncedErrs(p gopath.GoPath) gopath.GoPath {
if s.hasErr() {
return gopath.FromErr(s.err)
}
if p.HasErr() {
s.setErr(p.Err())
}
return p
}
示例4: relevantFileModeForPath
// getRelevantFileModeForPath returns the FileMode for the given file or, when
// the file does not exist, its containing directory.
func (a *accessControl) relevantFileModeForPath(p gopath.GoPath) os.FileMode {
if a.hasErr() || p.HasErr() {
return 0
}
var pStat = p.Stat()
if !pStat.IsExists() {
// HINT: Inspect permissions of containing directory
pStat = p.Dir().Stat()
}
a.setErr(pStat.Err())
return pStat.FileMode()
}
示例5: first512BytesForPath
func (m *mimeDetector) first512BytesForPath(p gopath.GoPath) []byte {
if p.HasErr() {
return nil
}
var readCloser = m.openReaderAtPath(p)
if m.hasErr() {
return nil
}
var buf = make([]byte, 512)
var n int
n, m.err = readCloser.Read(buf)
readCloser.Close()
return buf[:n]
}
示例6: mimeTypeForPath
func (m *mimeDetector) mimeTypeForPath(p gopath.GoPath) string {
p = p.EvalSymlinks()
if p.IsDirectory() || p.HasErr() {
return store.FallbackMimeType
}
var ext = p.Ext()
if mimeType := mime.TypeByExtension(ext); mimeType != "" {
return mimeType
}
var first512Bytes = m.first512BytesForPath(p)
m.errAndClear() // clear error flag, as DetectContentType always returns something
return http.DetectContentType(first512Bytes)
}
示例7: assertFileIsNotHidden
func (i *pathIO) assertFileIsNotHidden(p gopath.GoPath) {
if i.hasErr() {
return
}
if p.HasErr() {
i.syncedErrs(p)
return
}
if strings.HasPrefix(p.Base(), ".") {
i.setErr(store.NewPathNotFoundError(fmt.Sprintf("%s is a hidden file and may not be displayed", p)))
}
// HINT: recursive call, ending at content root
if i.isPathInsideContentRoot(p) {
i.assertFileIsNotHidden(p.ToSlash().Dir())
}
}
示例8: NewFilesystemLoader
// NewFilesystemLoader creates a new instance with templates located in the
// given root path.
func NewFilesystemLoader(root gopath.GoPath) *FilesystemLoader {
if root.HasErr() {
panic(fmt.Sprintf("NewFilesystemLoader: root has error: %s", root.Err()))
}
if !root.IsExists() {
panic(fmt.Sprintf("NewFilesystemLoader: root %s does not exist", root.Path()))
}
watcher, err := fsnotify.NewWatcher()
if err != nil {
panic(fmt.Sprintf("NewFilesystemLoader: can't open watcher: %s", err))
}
var loader = &FilesystemLoader{
root,
watcher,
make(map[string]chan *template.Template),
make(map[string]string)}
go loader.processEvents()
return loader
}
示例9: assertPathValidForWriteAccess
// assertPathValidForWriteAccess sets the error flag when the path may not be
// opened for writing by this process.
func (i *pathIO) assertPathValidForWriteAccess(p gopath.GoPath) {
if i.hasErr() {
return
}
if p.HasErr() {
i.setErr(p.Err())
return
}
if p.IsExists() {
if !p.IsRegular() || !isPathWriteable(p) {
i.setErr(store.NewAccessDeniedError(fmt.Sprintf(
"path '%s' with mode %s denotes no regular file or no writeable directory",
p.Path(), p.FileMode())))
}
} else {
var d = p.Dir()
if !isPathWriteable(d) {
i.setErr(store.NewAccessDeniedError(
"parent directory of '" + p.Path() + "' is not writeable"))
}
}
}
示例10: canWriteFile
func (a *accessControl) canWriteFile(p gopath.GoPath) bool {
if p.HasErr() || !p.IsRegular() {
return false
}
return a.hasWorldWritePermission(p.FileMode())
}
示例11: canEnterDirectory
func (a *accessControl) canEnterDirectory(p gopath.GoPath) bool {
if p.HasErr() || !p.IsDirectory() {
return false
}
return a.hasWorldExecutePermission(p.FileMode())
}