/** * Factory method to create a new DNS resolver instance. * * @param \AppserverIo\Server\Interfaces\ServerContextInterface $serverContext The server context for the resolver * @param \AppserverIo\Server\Interfaces\ModuleConfigurationInterface $moduleConfiguration The module configuration with the initialization parameters * * @return \AppserverIo\DnsServer\StorageProvider\StorageProviderInterface The initialized DNS resolver */ public static function factory(ServerContextInterface $serverContext, ModuleConfigurationInterface $moduleConfiguration) { // laod the system configuration from the server context $systemConfiguration = $serverContext->getContainer()->getInitialContext()->getSystemConfiguration(); // initialize the storage provider $storageProvider = new SystemConfigurationStorageProvider($systemConfiguration, $moduleConfiguration); // initialize the DNS resolver to load the DNS entries from the storage return new StackableResolver(array($storageProvider, new RecursiveProvider())); }