当前位置: 首页>>代码示例>>Golang>>正文


Golang GoPath.HasErr方法代码示例

本文整理汇总了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)
}
开发者ID:fxnn,项目名称:gone,代码行数:7,代码来源:http.go

示例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)
	}
}
开发者ID:fxnn,项目名称:gone,代码行数:11,代码来源:pathio.go

示例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
}
开发者ID:fxnn,项目名称:gone,代码行数:14,代码来源:errStore.go

示例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()
}
开发者ID:fxnn,项目名称:gone,代码行数:14,代码来源:accessControl.go

示例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]
}
开发者ID:fxnn,项目名称:gone,代码行数:16,代码来源:mimeDetector.go

示例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)
}
开发者ID:fxnn,项目名称:gone,代码行数:16,代码来源:mimeDetector.go

示例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())
	}
}
开发者ID:fxnn,项目名称:gone,代码行数:18,代码来源:pathio.go

示例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
}
开发者ID:fxnn,项目名称:gone,代码行数:23,代码来源:file.go

示例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"))
		}
	}
}
开发者ID:fxnn,项目名称:gone,代码行数:25,代码来源:pathio.go

示例10: canWriteFile

func (a *accessControl) canWriteFile(p gopath.GoPath) bool {
	if p.HasErr() || !p.IsRegular() {
		return false
	}
	return a.hasWorldWritePermission(p.FileMode())
}
开发者ID:fxnn,项目名称:gone,代码行数:6,代码来源:accessControl.go

示例11: canEnterDirectory

func (a *accessControl) canEnterDirectory(p gopath.GoPath) bool {
	if p.HasErr() || !p.IsDirectory() {
		return false
	}
	return a.hasWorldExecutePermission(p.FileMode())
}
开发者ID:fxnn,项目名称:gone,代码行数:6,代码来源:accessControl.go


注:本文中的github.com/fxnn/gopath.GoPath.HasErr方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。