diff --git a/src/aphront/configuration/AphrontDefaultApplicationConfiguration.php b/src/aphront/configuration/AphrontDefaultApplicationConfiguration.php --- a/src/aphront/configuration/AphrontDefaultApplicationConfiguration.php +++ b/src/aphront/configuration/AphrontDefaultApplicationConfiguration.php @@ -27,12 +27,16 @@ } protected function getResourceURIMapRules() { + $extensions = CelerityResourceController::getSupportedResourceTypes(); + $extensions = array_keys($extensions); + $extensions = implode('|', $extensions); + return array( '/res/' => array( '(?:(?P[0-9]+)T/)?'. '(?P[^/]+)/'. '(?P[a-f0-9]{8})/'. - '(?P.+\.(?:css|js|jpg|png|swf|gif|woff))' + '(?P.+\.(?:'.$extensions.'))' => 'CelerityPhabricatorResourceController', ), ); diff --git a/src/infrastructure/celerity/CelerityResourceController.php b/src/infrastructure/celerity/CelerityResourceController.php --- a/src/infrastructure/celerity/CelerityResourceController.php +++ b/src/infrastructure/celerity/CelerityResourceController.php @@ -28,7 +28,7 @@ } $type = CelerityResourceTransformer::getResourceType($path); - $type_map = $this->getSupportedResourceTypes(); + $type_map = self::getSupportedResourceTypes(); if (empty($type_map[$type])) { throw new Exception("Only static resources may be served."); @@ -88,7 +88,7 @@ return $this->makeResponseCacheable($response); } - protected function getSupportedResourceTypes() { + public static function getSupportedResourceTypes() { return array( 'css' => 'text/css; charset=utf-8', 'js' => 'text/javascript; charset=utf-8',