|
|
|
|
|
|
|
|
use OCA\DAV\Connector\Sabre\ExceptionLoggerPlugin; |
|
|
use OCA\DAV\Connector\Sabre\ExceptionLoggerPlugin; |
|
|
use Sabre\DAV\Exception\ServiceUnavailable; |
|
|
use Sabre\DAV\Exception\ServiceUnavailable; |
|
|
use Sabre\DAV\Server; |
|
|
use Sabre\DAV\Server; |
|
|
|
|
|
use Psr\Log\LoggerInterface; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* Class RemoteException |
|
|
* Class RemoteException |
|
|
|
|
|
|
|
|
$server = new Server(); |
|
|
$server = new Server(); |
|
|
if (!($e instanceof RemoteException)) { |
|
|
if (!($e instanceof RemoteException)) { |
|
|
// we shall not log on RemoteException |
|
|
// we shall not log on RemoteException |
|
|
$server->addPlugin(new ExceptionLoggerPlugin('webdav', \OC::$server->getLogger())); |
|
|
|
|
|
|
|
|
$server->addPlugin(new ExceptionLoggerPlugin('webdav', \OC::$server->get(LoggerInterface::class))); |
|
|
} |
|
|
} |
|
|
$server->on('beforeMethod:*', function () use ($e) { |
|
|
$server->on('beforeMethod:*', function () use ($e) { |
|
|
if ($e instanceof RemoteException) { |
|
|
if ($e instanceof RemoteException) { |
|
|
|
|
|
|
|
|
// we shall not log on RemoteException |
|
|
// we shall not log on RemoteException |
|
|
OC_Template::printErrorPage($e->getMessage(), '', $e->getCode()); |
|
|
OC_Template::printErrorPage($e->getMessage(), '', $e->getCode()); |
|
|
} else { |
|
|
} else { |
|
|
\OC::$server->getLogger()->logException($e, ['app' => 'remote']); |
|
|
|
|
|
|
|
|
\OC::$server->get(LoggerInterface::class)->error($e->getMessage(), ['app' => 'remote','exception' => $e]); |
|
|
OC_Template::printExceptionErrorPage($e, $statusCode); |
|
|
OC_Template::printExceptionErrorPage($e, $statusCode); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |