/** * reduce * * @param RouteCollectionInterface $routes * @param RequestContext $context * * @return RouteCollectionInterface */ private function filterByMethodAndScheme(RouteCollectionInterface $routes, Request $context) { return $routes->findByMethod($context->getMethod())->findByScheme($context->getScheme()); }
/** * getRouteProtocol * * @param RouteInterface $route * @param RequestContextInterface $request * * @return string */ private function getRouteProtocol(RouteInterface $route, RequestContextInterface $request) { $requestScheme = $request->getScheme(); $schemes = $route->getSchemes(); if (in_array($requestScheme, $schemes)) { return $requestScheme; } return current($schemes) ?: 'http'; }