file-server/server.go
func (s *Server) HashedPath(p string) (string, error) {
	if s.Hasher == nil {
		return path.Join(s.root, p), nil
	}
	h, cont, err := s.hash(p)
	if err != nil {
		if cont {
			h, _, err = s.hashFromFilename(p)
		}
		if err != nil {
			return "", err
		}
	}
	return path.Join(s.root, s.hashedPath(p, h)), nil
}
func (s *Server) HashedPath(p string) (string, error) {
	if s.Hasher == nil {
		return path.Join(s.root, p), nil
	}
	h, cont, err := s.hash(p)
	if err != nil {
		if cont {
			h, _, err = s.hashFromFilename(p)
		}
		if err != nil {
			return "", err
		}
	}
	return path.Join(s.root, s.hashedPath(p, h)), nil
}
// HashedPath returns a URL path with hash injected into the filename.