func escapedPathExp(pathExp string) (string, error) {

	// PathExp validation
	if pathExp == "" {
		return "", errors.New("empty PathExp")
	}
	if pathExp[0] != '/' {
		return "", errors.New("PathExp must start with /")
	}
	if strings.Contains(pathExp, "?") {
		return "", errors.New("PathExp must not contain the query string")
	}

	// Get the right escaping
	// XXX a bit hacky

	pathExp = preEscape.Replace(pathExp)

	urlObj, err := url.Parse(pathExp)
	if err != nil {
		return "", err
	}

	// get the same escaping as find requests
	pathExp = urlObj.RequestURI()

	pathExp = postEscape.Replace(pathExp)

	return pathExp, nil
}
func escapedPathExp(pathExp string) (string, error) {

	
	if pathExp == "" {
		return "", errors.New("empty PathExp")
	}
	if pathExp[0] != '/' {
		return "", errors.New("PathExp must start with /")
	}
	if strings.Contains(pathExp, "?") {
		return "", errors.New("PathExp must not contain the query string")
	}

	
	

	pathExp = preEscape.Replace(pathExp)

	urlObj, err := url.Parse(pathExp)
	if err != nil {
		return "", err
	}

	
	pathExp = urlObj.RequestURI()

	pathExp = postEscape.Replace(pathExp)

	return pathExp, nil
}
func escapedPathExp ( pathExp string ) ( string , error ) { // PathExp validation if pathExp == " " { return " " , errors . New ( " " ) } if pathExp [ 0 ] != '/' { return " " , errors . New ( " " ) } if strings . Contains ( pathExp , " " ) { return " " , errors . New ( " " ) } // Get the right escaping // XXX a bit hacky pathExp = preEscape . Replace ( pathExp ) urlObj , err := url . Parse ( pathExp ) if err != nil { return " " , err } // get the same escaping as find requests pathExp = urlObj . RequestURI ( ) pathExp = postEscape . Replace ( pathExp ) return pathExp , nil }
// This is run at init time only.
This is run at init time only .