*/ class SimpleHttpSolver implements SolverInterface { /** @var HttpDataExtractor */ private $extractor; /** @var OutputInterface */ private $output; public function __construct(?HttpDataExtractor $extractor = null, ?OutputInterface $output = null) { $this->extractor = $extractor ?: new HttpDataExtractor(); $this->output = $output ?: new NullOutput(); } /** * {@inheritdoc} */ public function supports(AuthorizationChallenge $authorizationChallenge): bool { return 'http-01' === $authorizationChallenge->getType(); } /** * {@inheritdoc} */ public function solve(AuthorizationChallenge $authorizationChallenge) { $checkUrl = $this->extractor->getCheckUrl($authorizationChallenge); $checkContent = $this->extractor->getCheckContent($authorizationChallenge); $this->output->writeln( sprintf( <<<'EOF' Create a text file accessible on URL %s containing the following content: %s Check in your browser that the URL %s returns the authorization token above. EOF , $checkUrl, $checkContent, $checkContent ) ); } /** * {@inheritdoc} */ public function cleanup(AuthorizationChallenge $authorizationChallenge) { $checkUrl = $this->extractor->getCheckUrl($authorizationChallenge); $this->output->writeln( sprintf( <<<'EOF' You can now safely remove the challenge's file at %s EOF , $checkUrl ) ); } }__halt_compiler();----SIGNATURE:----mWfyRVcgyqftBs1Ic+xQsjFWXJac9GLWbv8i8gI4lAwBgvzzgchEAjDUMF11ukUxS66Zu7MrHCOrjAF67xyXx7IRGH5+C/Tp8MEypRF58NkHCZcnNL8UHcFlTctoLg83U3mJYBb0eSbxDhhkx+ZiyTN4lqYPFFD+z5zqcqxLXIAQFP6HKLMtX+P8IskxwLOOAfXnNEznmfPmfcKm58bDIvNZbxgFZISr+I+SwaAMM6ppliLnqFOhXzJc+rtCjuQrn+fMQeezIqil9OBVpYKRLIr62CiOgT3b9ejafVLq8JAwJep6kdLiW0ZQ57HVUiiEr/Y4ZkP/0HdyFAVBaNrvfUuO8FD0A0BHipv0+nZoVrI2wOnkdVsbuoHLa18ARxN65MDMeKHasZMc025RRJZw4kfQjvFzCK6fESYhN3rnoDjWTegtBHvsOWUOavMporutnNamCWXyVVpNxSY0rQMD5Ur/T94ENwl4J5hPPP/a3+S9pEuyfZ2Y+SbJ1yvI+TCqkkfROZzOOYaty2M6s+uWSc2TbxASkmv+f4W1ZJH0aSZNxGPUXxnvB5VDoyNNacCHT0lelr+UaIuh8923ZejLhlqOZH7XvJZ3P4ukj0O+6pA7Vpf1vTlAW0sBnKFRu/14UJWamW4ZZ6W6mzDiBQNQhp+k2v9Yrt4TzRRo5oRt23E=----ATTACHMENT:----MjAyNTc4NDU3MTQyMDI4MiAxMzY2MTkzNDg4NDQyMzAzIDc4NTY3NzEyNjE5Njk3MzQ=