/**
  * Filter pattern filters that don't apply to the request verb.
  *
  * @param  string  $method
  * @param  array   $filters
  * @return array
  */
 protected function patternsByMethod($method, $filters)
 {
     $results = array();
     foreach ($filters as $filter) {
         // The idea here is to check and see if the pattern filter applies to this HTTP
         // request based on the request methods. Pattern filters might be limited by
         // the request verb to make it simply to assign to the given verb at once.
         if ($this->filterSupportsMethod($filter, $method)) {
             $parsed = Route::parseFilters($filter['name']);
             $results = array_merge($results, $parsed);
         }
     }
     return $results;
 }
Beispiel #2
0
 /**
  * Calls 'after' filters, if any supplied
  *
  * @param  Illuminate\Http\Response $response
  * @return Illuminate\Http\Response
  */
 private function callAfterFilters($response)
 {
     // Only if there exists a route AND after filters, we will apply the after
     // filter. Why? Because if there's no matching route, then, the after
     // filter will squak out as we'll be missing the 'route' parameter
     // that it needs.
     if (($route = Router::getCurrentRoute()) && !is_null($after = Config::get('hive::response.after'))) {
         $afterFilters = Route::parseFilters($after);
         foreach ($afterFilters as $filter => $parameters) {
             Router::callRouteFilter($filter, $parameters, $route, Router::getCurrentRequest(), $response);
         }
     }
     return $response;
 }