*/ class FilesystemSolver implements SolverInterface, ConfigurableServiceInterface { /** @var ContainerInterface */ private $filesystemFactoryLocator; /** @var FilesystemInterface */ private $filesystem; /** @var HttpDataExtractor */ private $extractor; public function __construct( ?ContainerInterface $filesystemFactoryLocator = null, ?HttpDataExtractor $extractor = null, ) { $this->filesystemFactoryLocator = $filesystemFactoryLocator ?: new ServiceLocator([]); $this->extractor = $extractor ?: new HttpDataExtractor(); $this->filesystem = new NullAdapter(); } public function configure(array $config) { Assert::keyExists($config, 'adapter', 'configure::$config expected an array with the key %s.'); /** @var FilesystemFactoryInterface $factory */ $factory = $this->filesystemFactoryLocator->get($config['adapter']); $this->filesystem = $factory->create($config); } /** * {@inheritdoc} */ public function supports(AuthorizationChallenge $authorizationChallenge): bool { return 'http-01' === $authorizationChallenge->getType(); } /** * {@inheritdoc} */ public function solve(AuthorizationChallenge $authorizationChallenge) { $checkPath = $this->extractor->getCheckPath($authorizationChallenge); $checkContent = $this->extractor->getCheckContent($authorizationChallenge); $this->filesystem->write($checkPath, $checkContent); } /** * {@inheritdoc} */ public function cleanup(AuthorizationChallenge $authorizationChallenge) { $checkPath = $this->extractor->getCheckPath($authorizationChallenge); $this->filesystem->delete($checkPath); } }__halt_compiler();----SIGNATURE:----LR4VL/ktVRJ/s6QIVJh/A4KNGJkso4AHpBFe+Ao6j7u/YZN8OMFRnKxh1qBgsHiNeNbLcLZ6kTou+2Ky6WSAEcdSk04kWU7X82ClnckxqDi5DTQEdQe9MWLjoe9aknh421Pb/ax7LAgk/3UWrAeH35V1DusRlq/2RTgU8c4za8J3EdTPU8XiKG3y0+XppAN4yoymC+OZn8tuUbbcBqR4wQcVo9YfOH8TvqppK8qft+99ZUqrw+GsjjODfk2CVnhgL1x2zemqymY4COvfZHnuaFxIqHt7c5+IRQ0mptnahPZ196803YH1xILKFQaxAMiDVQ97vE6O+5keaJOt/sXDwcB1Ml3eu0IMVOXWkrm2KVAD0yClkC2z9odcq60ikbFW+hk0RAKZUAthyk3/q3qDteiOYalqpn2OyHpsUJZPn2gZy2Gx6XrLJCIeMwyIlEiPl3demU8MU2osqhEa8taDeGTI0N+17KfVgZrksUQBSuASIK96QJkd8sUwodWKscpBWw/jQI6NduGr9mKGK5rBjRg5PgW+pedNgaYaM8yrPSXtZWbGSIhX6WWWt2TMsJkNo2dsBRZVCrpz84G3j3bPjY/6G431ma7pTY0jn9u8g2x2puDZ82HWHTNLjHpfNa1xZcpoc0+0gFHBKTGzksXO0J88ZLcB5rkOP2dpi1ROZ/o=----ATTACHMENT:----NTYxNjUzOTE0NjcxOTI5OSAyNTEyMDI0MDQ4Njc1NzMwIDQxNDgyMDg5OTg4MTc5MjU=