func (r *Route) BuildOnly() *Route {
	r.buildOnly = true
	return r
}
BuildOnly sets the route to never match: it is only used to build URLs.
package mux
import (
	"errors"
	"fmt"
	"net/http"
	"net/url"
	"regexp"
	"strings"
)
type Route struct {
	parent parentRoute
	handler http.Handler
	matchers []matcher
	regexp *routeRegexpGroup
	strictSlash bool
	skipClean bool
	useEncodedPath bool
	buildScheme string
	buildOnly bool
	name string
	err error
	buildVarsFunc BuildVarsFunc
}
func (r *Route) SkipClean() bool {
	return r.skipClean
}
func (r *Route) Match(req *http.Request, match *RouteMatch) bool {
	if r.buildOnly || r.err != nil {
		return false
	}
	var matchErr error
	for _, m := range r.matchers {
		if matched := m.Match(req, match); !matched {
			if _, ok := m.(methodMatcher); ok {
				matchErr = ErrMethodMismatch
				continue
			}
			matchErr = nil
			return false
		}
	}
	if matchErr != nil {
		match.MatchErr = matchErr
		return false
	}
	if match.MatchErr == ErrMethodMismatch {
		match.MatchErr = nil
		match.Handler = r.handler
	}
	if match.Route == nil {
		match.Route = r
	}
	if match.Handler == nil {
		match.Handler = r.handler
	}
	if match.Vars == nil {
		match.Vars = make(map[string]string)
	}
	if r.regexp != nil {
		r.regexp.setMatch(req, match, r)
	}
	return true
}
func (r *Route) GetError() error {
	return r.err
}