/** @var string Secret key to pass as an X-Swift-Secret header to the proxied thumb service */
protected $thumbProxySecret;
+ /** @var WANObjectCache */
+ protected $wanCache;
+
/**
* @param array|null $info
* @throws MWException
}
$this->supportsSha1URLs = !empty( $info['supportsSha1URLs'] );
+
+ $this->wanCache = $info['wanCache'] ?? WANObjectCache::newEmpty();
}
/**
*/
public function getDescriptionStylesheetUrl() {
if ( isset( $this->scriptDirUrl ) ) {
- return $this->makeUrl( 'title=MediaWiki:Filepage.css&' .
- wfArrayToCgi( Skin::getDynamicStylesheetQuery() ) );
+ // Must match canonical query parameter order for optimum caching
+ // See Title::getCdnUrls
+ return $this->makeUrl( 'title=MediaWiki:Filepage.css&action=raw&ctype=text/css' );
}
return false;
* @throws MWException
*/
protected function resolveToStoragePath( $path ) {
- if ( $this->isVirtualUrl( $path ) ) {
+ if ( self::isVirtualUrl( $path ) ) {
return $this->resolveVirtualUrl( $path );
}
/**
* Get a key on the primary cache for this repository.
* Returns false if the repository's cache is not accessible at this site.
- * The parameters are the parts of the key, as for wfMemcKey().
+ * The parameters are the parts of the key.
*
* STUB
* @return bool
/**
* Get a key for this repo in the local cache domain. These cache keys are
* not shared with remote instances of the repo.
- * The parameters are the parts of the key, as for wfMemcKey().
+ * The parameters are the parts of the key.
*
* @return string
*/
$args = func_get_args();
array_unshift( $args, 'filerepo', $this->getName() );
- return wfMemcKey( ...$args );
+ return $this->wanCache->makeKey( ...$args );
}
/**