func (api *APIBuilder) GetReporter() *errors.Reporter {
	return api.reporter
}
GetReporter returns the reporter for adding errors
package router
import (
	"net/http"
	"os"
	"path"
	"strings"
	"time"
	"github.com/kataras/iris/context"
	"github.com/kataras/iris/core/errors"
	"github.com/kataras/iris/core/router/macro"
)
const (
	MethodNone = "NONE"
)
var (
	AllMethods = [...]string{
		"GET",
		"POST",
		"PUT",
		"DELETE",
		"CONNECT",
		"HEAD",
		"PATCH",
		"OPTIONS",
		"TRACE",
	}
)
type repository struct {
	routes []*Route
}
func (r *repository) register(route *Route) {
	for _, r := range r.routes {
		if r.String() == route.String() {
			return  
		}
	}
	r.routes = append(r.routes, route)
}
func (r *repository) get(routeName string) *Route {
	for _, r := range r.routes {
		if r.Name == routeName {
			return r
		}
	}
	return nil
}
func (r *repository) getAll() []*Route {
	return r.routes
}
type APIBuilder struct {
	macros *macro.Map
	errorCodeHandlers *ErrorCodeHandlers
	routes *repository
	reverser *RoutePathReverser
	reporter *errors.Reporter
	middleware context.Handlers
	beginGlobalHandlers context.Handlers
	doneHandlers context.Handlers
	doneGlobalHandlers context.Handlers
	relativePath string
	allowMethods []string
}
var _ Party = (*APIBuilder)(nil)
var _ RoutesProvider = (*APIBuilder)(nil)  
func NewAPIBuilder() *APIBuilder {
	api := &APIBuilder{
		macros:            defaultMacros(),
		errorCodeHandlers: defaultErrorCodeHandlers(),
		reporter:          errors.NewReporter(),
		relativePath:      "/",
		routes:            new(repository),
	}
	return api
}
func (api *APIBuilder) GetRelPath() string {
	return api.relativePath
}
func (api *APIBuilder) GetReport() error {
	return api.reporter.Return()
}