EricMakesStuff\ServerMonitor\Monitors\SSLCertificateMonitor::runMonitor PHP Метод

runMonitor() публичный Метод

public runMonitor ( )
    public function runMonitor()
    {
        $urlParts = $this->parseUrl($this->url);
        try {
            $this->certificateInfo = $this->downloadCertificate($urlParts);
        } catch (\ErrorException $e) {
            event(new SSLCertificateInvalid($this));
            return false;
        } catch (\Exception $e) {
            throw InvalidConfiguration::urlCouldNotBeDownloaded();
        }
        $this->processCertificate($this->certificateInfo);
        if ($this->certificateDaysUntilExpiration < 0 || !$this->hostCoveredByCertificate($urlParts['host'], $this->certificateDomain, $this->certificateAdditionalDomains)) {
            event(new SSLCertificateInvalid($this));
        } elseif (in_array($this->certificateDaysUntilExpiration, $this->alarmDaysBeforeExpiration)) {
            event(new SSLCertificateExpiring($this));
        } else {
            event(new SSLCertificateValid($this));
        }
    }

Usage Example

 /** @test */
 public function it_throws_an_exception_for_nonexistent_url()
 {
     $sslCertificateMonitor = new SSLCertificateMonitor([]);
     $this->setExpectedException(InvalidConfiguration::class);
     $sslCertificateMonitor->runMonitor();
 }