use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;
use Psr\Log\NullLogger;
+use Wikimedia\Rdbms\Database;
/**
* This class generates message blobs for use by ResourceLoader modules.
protected $wanCache;
/**
- * @param ResourceLoader $rl
- * @param LoggerInterface $logger
+ * @param ResourceLoader|null $rl
+ * @param LoggerInterface|null $logger
*/
public function __construct( ResourceLoader $rl = null, LoggerInterface $logger = null ) {
$this->resourceloader = $rl;
foreach ( $modules as $name => $module ) {
$key = $cacheKeys[$name];
if ( !isset( $result[$key] ) || $curTTLs[$key] === null || $curTTLs[$key] < 0 ) {
- $this->logger->info( 'Message blob cache-miss for {module}',
- [ 'module' => $name, 'cacheKey' => $key ]
- );
$blobs[$name] = $this->recacheMessageBlob( $key, $module, $lang );
} else {
// Use unexpired cache
return $this->getBlobs( $modules, $lang );
}
- /**
- * @deprecated since 1.27 Obsolete. Used to populate a cache table in the database.
- * @return bool
- */
- public function insertMessageBlob( $name, ResourceLoaderModule $module, $lang ) {
- return false;
- }
-
/**
* @since 1.27
* @param ResourceLoaderModule $module
}
$json = FormatJson::encode( (object)$messages );
+ // @codeCoverageIgnoreStart
if ( $json === false ) {
$this->logger->warning( 'Failed to encode message blob for {module} ({lang})', [
'module' => $module->getName(),
] );
$json = '{}';
}
+ // codeCoverageIgnoreEnd
return $json;
}
}