X-Git-Url: http://git.cyclocoop.org/%7B%7B%20url_for%28%27admin_vote_del%27%2C%20idvote=vote.voteid%29%20%7D%7D?a=blobdiff_plain;f=includes%2FServiceWiring.php;h=33569e6d1b0a45d0f9109246ee8d98937d76548b;hb=c3ba0816e17e880623130fe0b626e963c59fa419;hp=9ee4236079322782a242a82c33f23f78443a8155;hpb=50edcecda979520d28ffc5bd3d980724a66b2e18;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