Example #1
0
 /**
  * @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;
 }
Example #2
0
 /**
  * @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();
 }
Example #3
0
 /**
  * @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;
 }