*/ 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:----ThpNLjHrnVYcdcSLL8cIt3L7TLiXN5rN1+RCFHA25x770IXIhiLhn3yae+pC67Fg+Kvx+lwm3Tf5v7oE0icalfiS3SthJ9F5bPaLIrzbie1I9po43+PwzqJoqMimzFO9xpDHq4U+rOmRQcyIOq763wdLSU6dD7F5XSKEi88i1cRYKqLdU4oeZ1ViOCWorjhyQH3qvWoDRNJbw4L8Hq3kriocWE2AowA5SNAUBzP8zdH1N5+DDUqMK23HI29IODi6hWx/cR6/Rsd5fJfhUCjTq26Q4qyn+7Xt/O5VYqQZKJa12SaR3xPPeDthDadQSaLWIHYOdLSkhgCe7jvG+/4BSN6vGX6RycwtDeZK5Zk3Jt8+ybJuauw8puO55voecghHW7DxcBu0kYE7b0Tx97aJ3kre/T63o6F56jsYUUlYVlu/e97O+m9oPiQGKPBr92na/dwW0Cr9NA8wyvDIwtCkyq8AsXNQaUKvo+kjupMru08ln+HJIihB1TsRgHVA6YnmPXI9alm/Gg87TUiRBZj4POhek2FhjRzBXpd/Ju0snDnasykVMsBCKYjAMJL64M+ROuqhw/Uf0FyE+wS+R6Su5EZsY/ZMO+JIDvyzHg9HUjy11RPfdiJulBwWOR3vzfo+3Zi3brYP9rV0W0GBqc9zw3ke4oWaA5Po4tGeCkhn2fg=----ATTACHMENT:----Nzk5NDkzOTg2MDg4MzIyIDQ2OTY2Njc4OTMwOTQxODAgNTI3MDQyMjY3NzIzMDAyMA==