/** * Overwritten method from parent class * * @param string content Content * @throws lang.IllegalAccessException */ public function setContent($content) { if ($this->_processed) { throw new IllegalAccessException('Cannot write directly'); } parent::setContent($content); }
/** * Handle exception from scriptlet * * @param lang.Throwable t * @param int status * @param bool trace whether to show stacktrace * @return scriptlet.HttpScriptletResponse */ protected function fail(Throwable $t, $status, $trace) { $package = create(new XPClass(__CLASS__))->getPackage(); $errorPage = $package->providesResource('error' . $status . '.html') ? $package->getResource('error' . $status . '.html') : $package->getResource('error500.html'); $response = new HttpScriptletResponse(); $response->setStatus($status); $response->setContent(str_replace('<xp:value-of select="reason"/>', $trace ? $t->toString() : $t->getMessage(), $errorPage)); return $response; }