/** * Given a request object, return an array of the various request * fragments that would correspond to the various route types. This is * useful for evaluating the request against the routes. * * @param RequestInterface $request * * @return array */ public static function getPathsByRouteType(RequestInterface $request) { $entire_uri_without_queries = strpos($request->getUri(), '?') !== false ? substr($request->getUri(), 0, strpos($request->getUri(), '?')) : $request->getUri(); $return = array(Route::ROUTE_TYPE_ABSOLUTE_PROTOCOL => $entire_uri_without_queries, Route::ROUTE_TYPE_ABSOLUTE_PROTOCOL_WITH_WILDCARDS => $entire_uri_without_queries, Route::ROUTE_TYPE_ABSOLUTE_DOMAIN => '//' . $request->getHost() . $request->getPathInfo(), Route::ROUTE_TYPE_ABSOLUTE_DOMAIN_WITH_WILDCARDS => '//' . $request->getHost() . $request->getPathInfo(), Route::ROUTE_TYPE_ABSOLUTE_PATH => $request->getPathInfo(), Route::ROUTE_TYPE_ABSOLUTE_PATH_WITH_WILDCARDS => $request->getPathInfo()); return $return; }