X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FServiceWiring.php;h=33569e6d1b0a45d0f9109246ee8d98937d76548b;hb=65054c94c2617a2d337344633b508ed510eb2885;hp=9ee4236079322782a242a82c33f23f78443a8155;hpb=4718aa105c597420f13d651f357f9aed705eb6a7;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index 9ee4236079..33569e6d1b 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -158,6 +158,12 @@ return [ return new WatchedItemQueryService( $services->getDBLoadBalancer() ); }, + 'MediaHandlerFactory' => function( MediaWikiServices $services ) { + return new MediaHandlerFactory( + $services->getMainConfig()->get( 'MediaHandlers' ) + ); + }, + 'LinkCache' => function( MediaWikiServices $services ) { return new LinkCache( $services->getTitleFormatter() @@ -166,7 +172,8 @@ return [ 'LinkRendererFactory' => function( MediaWikiServices $services ) { return new LinkRendererFactory( - $services->getTitleFormatter() + $services->getTitleFormatter(), + $services->getLinkCache() ); }, @@ -202,6 +209,24 @@ return [ return $services->getService( '_MediaWikiTitleCodec' ); }, + 'VirtualRESTServiceClient' => function( MediaWikiServices $services ) { + $config = $services->getMainConfig()->get( 'VirtualRestConfig' ); + + $vrsClient = new VirtualRESTServiceClient( new MultiHttpClient( [] ) ); + foreach ( $config['paths'] as $prefix => $serviceConfig ) { + $class = $serviceConfig['class']; + // Merge in the global defaults + $constructArg = isset( $serviceConfig['options'] ) + ? $serviceConfig['options'] + : []; + $constructArg += $config['global']; + // Make the VRS service available at the mount point + $vrsClient->mount( $prefix, [ 'class' => $class, 'config' => $constructArg ] ); + } + + return $vrsClient; + }, + /////////////////////////////////////////////////////////////////////////// // NOTE: When adding a service here, don't forget to add a getter function // in the MediaWikiServices class. The convenience getter should just call