code: func (router *router) match(req *Request) (*Route, error) {
  	// todo: consider using goroutines for searching for route
  
  	method := req.Method
  	path := req.URL.Path
  
  	for _, route := range router.routes[method] {
  		params, err := route.regex.Match(path)
  
  		if err == nil {
  			req.Params = params
  			return &route, nil
  		}
  	}
  
  	return nil, errors.New("[" + req.Method + "] handler for route " + path + " not found")
  }
docs: // main API function of router
  // if will try to invoke fns which are realted to route (if any)