File tree Expand file tree Collapse file tree 5 files changed +42
-0
lines changed
Expand file tree Collapse file tree 5 files changed +42
-0
lines changed Original file line number Diff line number Diff line change 254254 'OCA \\DAV \\Connector \\Sabre \\SharesPlugin ' => $ baseDir . '/../lib/Connector/Sabre/SharesPlugin.php ' ,
255255 'OCA \\DAV \\Connector \\Sabre \\TagList ' => $ baseDir . '/../lib/Connector/Sabre/TagList.php ' ,
256256 'OCA \\DAV \\Connector \\Sabre \\TagsPlugin ' => $ baseDir . '/../lib/Connector/Sabre/TagsPlugin.php ' ,
257+ 'OCA \\DAV \\Connector \\Sabre \\UserIdHeaderPlugin ' => $ baseDir . '/../lib/Connector/Sabre/UserIdHeaderPlugin.php ' ,
257258 'OCA \\DAV \\Connector \\Sabre \\ZipFolderPlugin ' => $ baseDir . '/../lib/Connector/Sabre/ZipFolderPlugin.php ' ,
258259 'OCA \\DAV \\Controller \\BirthdayCalendarController ' => $ baseDir . '/../lib/Controller/BirthdayCalendarController.php ' ,
259260 'OCA \\DAV \\Controller \\DirectController ' => $ baseDir . '/../lib/Controller/DirectController.php ' ,
Original file line number Diff line number Diff line change @@ -269,6 +269,7 @@ class ComposerStaticInitDAV
269269 'OCA \\DAV \\Connector \\Sabre \\SharesPlugin ' => __DIR__ . '/.. ' . '/../lib/Connector/Sabre/SharesPlugin.php ' ,
270270 'OCA \\DAV \\Connector \\Sabre \\TagList ' => __DIR__ . '/.. ' . '/../lib/Connector/Sabre/TagList.php ' ,
271271 'OCA \\DAV \\Connector \\Sabre \\TagsPlugin ' => __DIR__ . '/.. ' . '/../lib/Connector/Sabre/TagsPlugin.php ' ,
272+ 'OCA \\DAV \\Connector \\Sabre \\UserIdHeaderPlugin ' => __DIR__ . '/.. ' . '/../lib/Connector/Sabre/UserIdHeaderPlugin.php ' ,
272273 'OCA \\DAV \\Connector \\Sabre \\ZipFolderPlugin ' => __DIR__ . '/.. ' . '/../lib/Connector/Sabre/ZipFolderPlugin.php ' ,
273274 'OCA \\DAV \\Controller \\BirthdayCalendarController ' => __DIR__ . '/.. ' . '/../lib/Controller/BirthdayCalendarController.php ' ,
274275 'OCA \\DAV \\Controller \\DirectController ' => __DIR__ . '/.. ' . '/../lib/Controller/DirectController.php ' ,
Original file line number Diff line number Diff line change @@ -103,6 +103,7 @@ public function createServer(
103103 $ server ->addPlugin (new LockPlugin ());
104104
105105 $ server ->addPlugin (new RequestIdHeaderPlugin ($ this ->request ));
106+ $ server ->addPlugin (new UserIdHeaderPlugin ($ this ->userSession ));
106107
107108 $ server ->addPlugin (new ZipFolderPlugin (
108109 $ tree ,
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ declare (strict_types=1 );
4+ /**
5+ * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
6+ * SPDX-License-Identifier: AGPL-3.0-or-later
7+ */
8+
9+ namespace OCA \DAV \Connector \Sabre ;
10+
11+ use OCP \IRequest ;
12+ use OCP \IUserSession ;
13+ use Sabre \HTTP \RequestInterface ;
14+ use Sabre \HTTP \ResponseInterface ;
15+
16+ class UserIdHeaderPlugin extends \Sabre \DAV \ServerPlugin {
17+ public function __construct (
18+ private readonly IUserSession $ userSession ,
19+ ) {
20+ }
21+
22+ public function initialize (\Sabre \DAV \Server $ server ) {
23+ $ server ->on ('afterMethod:* ' , [$ this , 'afterMethod ' ]);
24+ }
25+
26+ /**
27+ * Add the request id as a header in the response
28+ *
29+ * @param RequestInterface $request request
30+ * @param ResponseInterface $response response
31+ */
32+ public function afterMethod (RequestInterface $ request , ResponseInterface $ response ) {
33+ if ($ user = $ this ->userSession ->getUser ()) {
34+ $ response ->setHeader ('X-User-Id ' , $ user ->getUID ());
35+ }
36+ }
37+ }
Original file line number Diff line number Diff line change 5151use OCA \DAV \Connector \Sabre \RequestIdHeaderPlugin ;
5252use OCA \DAV \Connector \Sabre \SharesPlugin ;
5353use OCA \DAV \Connector \Sabre \TagsPlugin ;
54+ use OCA \DAV \Connector \Sabre \UserIdHeaderPlugin ;
5455use OCA \DAV \Connector \Sabre \ZipFolderPlugin ;
5556use OCA \DAV \DAV \CustomPropertiesBackend ;
5657use OCA \DAV \DAV \PublicAuth ;
@@ -244,6 +245,7 @@ public function __construct(
244245 // performance improvement plugins
245246 $ this ->server ->addPlugin (new CopyEtagHeaderPlugin ());
246247 $ this ->server ->addPlugin (new RequestIdHeaderPlugin (\OCP \Server::get (IRequest::class)));
248+ $ this ->server ->addPlugin (new UserIdHeaderPlugin (\OCP \Server::get (IUserSession::class)));
247249 $ this ->server ->addPlugin (new UploadAutoMkcolPlugin ());
248250 $ this ->server ->addPlugin (new ChunkingV2Plugin (\OCP \Server::get (ICacheFactory::class)));
249251 $ this ->server ->addPlugin (new ChunkingPlugin ());
You can’t perform that action at this time.
0 commit comments