# phastpress/3.12/classes/ServiceSDKImplementation.php

PhastPress, version 3.12. 48 lines.

- Page: https://pluginprobe.com/plugins/phastpress/3.12/code/classes/ServiceSDKImplementation.php
- Raw: https://pluginprobe.com/plugins/phastpress/3.12/raw/classes/ServiceSDKImplementation.php
- Modified: 2023-12-01T12:22:12+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/phastpress/3.12/code/classes/ServiceSDKImplementation.php#L10-L20`.

```php
<?php
namespace Kibo\PhastPlugins\PhastPress;

use Kibo\Phast\HTTP\Request;
use Kibo\PhastPlugins\SDK\ServiceHost;

class ServiceSDKImplementation implements ServiceHost {
    public function getCacheRootCandidatesProvider() {
        return new CacheRootCandidatesProviderImplementation();
    }

    public function onServiceConfigurationLoad(array $config) {
        if (class_exists(\WpOrg\Requests\Requests::class)) {
            $config['httpClient'] = RequestsHTTPClient::class;
        }

        if ($map = $this->getRetrieverMap()) {
            $config['retrieverMap'] = $map;
        }

        return $config;
    }

    private function getRetrieverMap() {
        if (!defined('MULTISITE')
            || !MULTISITE
            || !defined('SUBDOMAIN_INSTALL')
            || SUBDOMAIN_INSTALL
        ) {
            return null;
        }

        $request = Request::fromGlobals();

        $map = [
            '/' => $request->getDocumentRoot(),
        ];

        foreach (['wp-content', 'wp-admin', 'wp-includes'] as $dir) {
            $map["/[_0-9a-zA-Z-]+/$dir/"] = "{$request->getDocumentRoot()}/$dir";
        }

        return [
            $request->getHost() => $map,
        ];
    }
}

```
