ignoreextras
diff --git a/apps/dav/tests/unit/DAV/BrowserErrorPagePluginTest.php b/apps/dav/tests/unit/DAV/ErrorPagePluginTest.php
similarity index 86%
rename from apps/dav/tests/unit/DAV/BrowserErrorPagePluginTest.php
rename to apps/dav/tests/unit/DAV/ErrorPagePluginTest.php
index b6ec05afd7875..3c87574e8d28f 100644
--- a/apps/dav/tests/unit/DAV/BrowserErrorPagePluginTest.php
+++ b/apps/dav/tests/unit/DAV/ErrorPagePluginTest.php
@@ -23,11 +23,11 @@
*/
namespace OCA\DAV\Tests\unit\DAV;
-use OCA\DAV\Files\BrowserErrorPagePlugin;
+use OCA\DAV\Files\ErrorPagePlugin;
use Sabre\DAV\Exception\NotFound;
use Sabre\HTTP\Response;
-class BrowserErrorPagePluginTest extends \Test\TestCase {
+class ErrorPagePluginTest extends \Test\TestCase {
/**
* @dataProvider providesExceptions
@@ -35,8 +35,8 @@ class BrowserErrorPagePluginTest extends \Test\TestCase {
* @param $exception
*/
public function test($expectedCode, $exception): void {
- /** @var BrowserErrorPagePlugin | \PHPUnit\Framework\MockObject\MockObject $plugin */
- $plugin = $this->getMockBuilder(BrowserErrorPagePlugin::class)->setMethods(['sendResponse', 'generateBody'])->getMock();
+ /** @var ErrorPagePlugin | \PHPUnit\Framework\MockObject\MockObject $plugin */
+ $plugin = $this->getMockBuilder(ErrorPagePlugin::class)->disableOriginalConstructor()->setMethods(['sendResponse', 'generateBody'])->getMock();
$plugin->expects($this->once())->method('generateBody')->willReturn(':boom:');
$plugin->expects($this->once())->method('sendResponse');
/** @var \Sabre\DAV\Server | \PHPUnit\Framework\MockObject\MockObject $server */
diff --git a/build/integration/features/caldav.feature b/build/integration/features/caldav.feature
index fffdd89d36748..3e81a37cf671f 100644
--- a/build/integration/features/caldav.feature
+++ b/build/integration/features/caldav.feature
@@ -3,8 +3,7 @@ Feature: caldav
Given user "user0" exists
When "admin" requests calendar "user0/MyCalendar" on the endpoint "/remote.php/dav/calendars/"
Then The CalDAV HTTP status code should be "404"
- And The exception is "Sabre\DAV\Exception\NotFound"
- And The error message is "Node with name 'MyCalendar' could not be found"
+ And The exception is "Internal Server Error"
Scenario: Accessing a not shared calendar of another user
Given user "user0" exists
@@ -12,8 +11,7 @@ Feature: caldav
Given The CalDAV HTTP status code should be "201"
When "user0" requests calendar "admin/MyCalendar" on the endpoint "/remote.php/dav/calendars/"
Then The CalDAV HTTP status code should be "404"
- And The exception is "Sabre\DAV\Exception\NotFound"
- And The error message is "Calendar with name 'MyCalendar' could not be found"
+ And The exception is "Internal Server Error"
Scenario: Accessing a not shared calendar of another user via the legacy endpoint
Given user "user0" exists
@@ -28,8 +26,7 @@ Feature: caldav
Given user "user0" exists
When "user0" requests calendar "admin/MyCalendar" on the endpoint "/remote.php/dav/calendars/"
Then The CalDAV HTTP status code should be "404"
- And The exception is "Sabre\DAV\Exception\NotFound"
- And The error message is "Node with name 'MyCalendar' could not be found"
+ And The exception is "Internal Server Error"
Scenario: Accessing a not existing calendar of another user via the legacy endpoint
Given user "user0" exists
@@ -42,8 +39,7 @@ Feature: caldav
Given user "user0" exists
When "user0" requests calendar "admin/MyCalendar" on the endpoint "/remote.php/dav/calendars/"
Then The CalDAV HTTP status code should be "404"
- And The exception is "Sabre\DAV\Exception\NotFound"
- And The error message is "Node with name 'MyCalendar' could not be found"
+ And The exception is "Internal Server Error"
Scenario: Creating a new calendar
When "admin" creates a calendar named "MyCalendar"
@@ -64,8 +60,7 @@ Feature: caldav
Given user "user0" exists
When "user0" sends a create calendar request to "admin/MyCalendar2" on the endpoint "/remote.php/dav/calendars/"
Then The CalDAV HTTP status code should be "404"
- And The exception is "Sabre\DAV\Exception\NotFound"
- And The error message is "Node with name 'admin' could not be found"
+ And The exception is "Internal Server Error"
Scenario: Create calendar request for existing calendar of another user
Given user "user0" exists
@@ -73,5 +68,4 @@ Feature: caldav
Then The CalDAV HTTP status code should be "201"
When "user0" sends a create calendar request to "admin/MyCalendar2" on the endpoint "/remote.php/dav/calendars/"
Then The CalDAV HTTP status code should be "404"
- And The exception is "Sabre\DAV\Exception\NotFound"
- And The error message is "Node with name 'admin' could not be found"
+ And The exception is "Internal Server Error"
diff --git a/build/integration/features/carddav.feature b/build/integration/features/carddav.feature
index 9c9df6ddd94be..15f1e95e73770 100644
--- a/build/integration/features/carddav.feature
+++ b/build/integration/features/carddav.feature
@@ -2,15 +2,13 @@ Feature: carddav
Scenario: Accessing a not existing addressbook of another user
Given user "user0" exists
When "admin" requests addressbook "user0/MyAddressbook" with statuscode "404" on the endpoint "/remote.php/dav/addressbooks/users/"
- And The CardDAV exception is "Sabre\DAV\Exception\NotFound"
- And The CardDAV error message is "Addressbook with name 'MyAddressbook' could not be found"
+ And The CardDAV exception is "Internal Server Error"
Scenario: Accessing a not shared addressbook of another user
Given user "user0" exists
Given "admin" creates an addressbook named "MyAddressbook" with statuscode "201"
When "user0" requests addressbook "admin/MyAddressbook" with statuscode "404" on the endpoint "/remote.php/dav/addressbooks/users/"
- And The CardDAV exception is "Sabre\DAV\Exception\NotFound"
- And The CardDAV error message is "Addressbook with name 'MyAddressbook' could not be found"
+ And The CardDAV exception is "Internal Server Error"
Scenario: Accessing a not existing addressbook of another user via legacy endpoint
Given user "user0" exists
@@ -28,8 +26,7 @@ Feature: carddav
Scenario: Accessing a not existing addressbook of myself
Given user "user0" exists
When "user0" requests addressbook "admin/MyAddressbook" with statuscode "404" on the endpoint "/remote.php/dav/addressbooks/users/"
- And The CardDAV exception is "Sabre\DAV\Exception\NotFound"
- And The CardDAV error message is "Addressbook with name 'MyAddressbook' could not be found"
+ And The CardDAV exception is "Internal Server Error"
Scenario: Creating a new addressbook
When "admin" creates an addressbook named "MyAddressbook" with statuscode "201"
@@ -67,13 +64,11 @@ Feature: carddav
Given user "user0" exists
When "user0" sends a create addressbook request to "admin/MyAddressbook2" on the endpoint "/remote.php/dav/addressbooks/"
Then The CardDAV HTTP status code should be "404"
- And The CardDAV exception is "Sabre\DAV\Exception\NotFound"
- And The CardDAV error message is "File not found: admin in 'addressbooks'"
+ And The CardDAV exception is "Internal Server Error"
Scenario: Create addressbook request for existing addressbook of another user
Given user "user0" exists
When "admin" creates an addressbook named "MyAddressbook2" with statuscode "201"
When "user0" sends a create addressbook request to "admin/MyAddressbook2" on the endpoint "/remote.php/dav/addressbooks/"
Then The CardDAV HTTP status code should be "404"
- And The CardDAV exception is "Sabre\DAV\Exception\NotFound"
- And The CardDAV error message is "File not found: admin in 'addressbooks'"
+ And The CardDAV exception is "Internal Server Error"
diff --git a/core/templates/exception.php b/core/templates/exception.php
index d26e9ff4f94ed..324724e67ace2 100644
--- a/core/templates/exception.php
+++ b/core/templates/exception.php
@@ -4,20 +4,7 @@
style('core', ['styles', 'header']);
-function print_exception(Throwable $e, \OCP\IL10N $l): void {
- print_unescaped('');
- p($e->getTraceAsString());
- print_unescaped('
');
-
- if ($e->getPrevious() !== null) {
- print_unescaped('
');
- print_unescaped('');
- p($l->t('Previous'));
- print_unescaped('
');
-
- print_exception($e->getPrevious(), $l);
- }
-}
+require_once __DIR__ . '/print_exception.php';
?>
diff --git a/core/templates/print_exception.php b/core/templates/print_exception.php
new file mode 100644
index 0000000000000..2def6d4e9d904
--- /dev/null
+++ b/core/templates/print_exception.php
@@ -0,0 +1,21 @@
+');
+ p($e->getTraceAsString());
+ print_unescaped('');
+
+ if ($e->getPrevious() !== null) {
+ print_unescaped('
');
+ print_unescaped('
');
+ p($l->t('Previous'));
+ print_unescaped('
');
+
+ print_exception($e->getPrevious(), $l);
+ }
+}
diff --git a/core/templates/print_xml_exception.php b/core/templates/print_xml_exception.php
new file mode 100644
index 0000000000000..94452d8ae9d3f
--- /dev/null
+++ b/core/templates/print_xml_exception.php
@@ -0,0 +1,16 @@
+getTraceAsString());
+
+ if ($e->getPrevious() !== null) {
+ print_unescaped('');
+ print_exception($e->getPrevious(), $l);
+ print_unescaped('');
+ }
+}
diff --git a/core/templates/xml_exception.php b/core/templates/xml_exception.php
new file mode 100644
index 0000000000000..ba808c88595c2
--- /dev/null
+++ b/core/templates/xml_exception.php
@@ -0,0 +1,39 @@
+' . "\n");
+?>
+
+ t('Internal Server Error')) ?>
+
+ t('The server was unable to complete your request.')) ?>
+ t('If this happens again, please send the technical details below to the server administrator.')) ?>
+ t('More details can be found in the server log.')) ?>
+
+ t('For more details see the documentation ↗.'))?>:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+