SimpleSAML_Error_Error::saveError PHP Method

saveError() protected method

Save an error report.
protected saveError ( ) : array
return array The array with the error report data.
    protected function saveError()
    {
        $data = $this->format(true);
        $emsg = array_shift($data);
        $etrace = implode("\n", $data);
        $reportId = bin2hex(openssl_random_pseudo_bytes(4));
        SimpleSAML\Logger::error('Error report with id ' . $reportId . ' generated.');
        $config = SimpleSAML_Configuration::getInstance();
        $session = SimpleSAML_Session::getSessionFromRequest();
        if (isset($_SERVER['HTTP_REFERER'])) {
            $referer = $_SERVER['HTTP_REFERER'];
            // remove anything after the first '?' or ';', just in case it contains any sensitive data
            $referer = explode('?', $referer, 2);
            $referer = $referer[0];
            $referer = explode(';', $referer, 2);
            $referer = $referer[0];
        } else {
            $referer = 'unknown';
        }
        $errorData = array('exceptionMsg' => $emsg, 'exceptionTrace' => $etrace, 'reportId' => $reportId, 'trackId' => $session->getTrackID(), 'url' => \SimpleSAML\Utils\HTTP::getSelfURLNoQuery(), 'version' => $config->getVersion(), 'referer' => $referer);
        $session->setData('core:errorreport', $reportId, $errorData);
        return $errorData;
    }