Example #1
0
 /**
  * {@inheritDoc}
  */
 protected function parseAction($action)
 {
     $action = parent::parseAction($action);
     if (isset($action['protected'])) {
         $action['protected'] = is_array($action['protected']) ? last($action['protected']) : $action['protected'];
     }
     if (isset($action['scopes'])) {
         $action['scopes'] = is_array($action['scopes']) ? $action['scopes'] : explode('|', $action['scopes']);
     }
     if (!isset($action['before'])) {
         $action['before'] = [];
     } elseif (is_string($action['before'])) {
         $action['before'] = [$action['before']];
     }
     foreach ([static::API_FILTER_THROTTLE, static::API_FILTER_AUTH] as $filter) {
         if (($key = array_search($filter, $action['before'])) !== false) {
             unset($action['before'][$key]);
         }
         array_unshift($action['before'], $filter);
     }
     return $action;
 }