/** * @param Route $parent * @param Route $child * @return Route */ protected function merge(Route $parent, Route $child) { !$child->scheme() && $parent->scheme() && ($child[Arg::SCHEME] = $parent->scheme()); !$child->host() && $parent->host() && ($child[Arg::HOST] = $parent->host()); !$child->port() && $parent->port() && ($child[Arg::PORT] = $parent->port()); return $child; }
/** * @param Request $request * @param Route $route * @return Request|BadRequest */ function __invoke(Request $request, Route $route) { return !$route->scheme() || $this->match($request, $route) ? $request : new BadRequest(); }
/** * @param Route $route * @param Definition $definition * @return Route */ public function __invoke(Route $route, Definition $definition) { return !$definition->scheme() || in_array($route->scheme(), (array) $definition->scheme()) ? $route : null; }