Load apps dav plugins on the old webdav route
Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
parent
17eece7fc4
commit
1593322397
|
@ -52,7 +52,8 @@ $serverFactory = new OCA\DAV\Connector\Sabre\ServerFactory(
|
||||||
\OC::$server->getMountManager(),
|
\OC::$server->getMountManager(),
|
||||||
\OC::$server->getTagManager(),
|
\OC::$server->getTagManager(),
|
||||||
\OC::$server->getRequest(),
|
\OC::$server->getRequest(),
|
||||||
\OC::$server->getPreviewManager()
|
\OC::$server->getPreviewManager(),
|
||||||
|
\OC::$server->getEventDispatcher()
|
||||||
);
|
);
|
||||||
|
|
||||||
$requestUri = \OC::$server->getRequest()->getRequestUri();
|
$requestUri = \OC::$server->getRequest()->getRequestUri();
|
||||||
|
|
|
@ -44,7 +44,8 @@ $serverFactory = new \OCA\DAV\Connector\Sabre\ServerFactory(
|
||||||
\OC::$server->getMountManager(),
|
\OC::$server->getMountManager(),
|
||||||
\OC::$server->getTagManager(),
|
\OC::$server->getTagManager(),
|
||||||
\OC::$server->getRequest(),
|
\OC::$server->getRequest(),
|
||||||
\OC::$server->getPreviewManager()
|
\OC::$server->getPreviewManager(),
|
||||||
|
\OC::$server->getEventDispatcher()
|
||||||
);
|
);
|
||||||
|
|
||||||
// Backends
|
// Backends
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
namespace OCA\DAV\Connector\Sabre;
|
namespace OCA\DAV\Connector\Sabre;
|
||||||
|
|
||||||
use OC\Files\Node\Folder;
|
use OC\Files\Node\Folder;
|
||||||
|
use OCA\DAV\AppInfo\PluginManager;
|
||||||
use OCA\DAV\Files\BrowserErrorPagePlugin;
|
use OCA\DAV\Files\BrowserErrorPagePlugin;
|
||||||
use OCP\Files\Mount\IMountManager;
|
use OCP\Files\Mount\IMountManager;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
|
@ -39,7 +40,9 @@ use OCP\IPreview;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCP\ITagManager;
|
use OCP\ITagManager;
|
||||||
use OCP\IUserSession;
|
use OCP\IUserSession;
|
||||||
|
use OCP\SabrePluginEvent;
|
||||||
use Sabre\DAV\Auth\Plugin;
|
use Sabre\DAV\Auth\Plugin;
|
||||||
|
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
||||||
|
|
||||||
class ServerFactory {
|
class ServerFactory {
|
||||||
/** @var IConfig */
|
/** @var IConfig */
|
||||||
|
@ -58,6 +61,8 @@ class ServerFactory {
|
||||||
private $request;
|
private $request;
|
||||||
/** @var IPreview */
|
/** @var IPreview */
|
||||||
private $previewManager;
|
private $previewManager;
|
||||||
|
/** @var EventDispatcherInterface */
|
||||||
|
private $eventDispatcher;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param IConfig $config
|
* @param IConfig $config
|
||||||
|
@ -77,7 +82,8 @@ class ServerFactory {
|
||||||
IMountManager $mountManager,
|
IMountManager $mountManager,
|
||||||
ITagManager $tagManager,
|
ITagManager $tagManager,
|
||||||
IRequest $request,
|
IRequest $request,
|
||||||
IPreview $previewManager
|
IPreview $previewManager,
|
||||||
|
EventDispatcherInterface $eventDispatcher
|
||||||
) {
|
) {
|
||||||
$this->config = $config;
|
$this->config = $config;
|
||||||
$this->logger = $logger;
|
$this->logger = $logger;
|
||||||
|
@ -87,6 +93,7 @@ class ServerFactory {
|
||||||
$this->tagManager = $tagManager;
|
$this->tagManager = $tagManager;
|
||||||
$this->request = $request;
|
$this->request = $request;
|
||||||
$this->previewManager = $previewManager;
|
$this->previewManager = $previewManager;
|
||||||
|
$this->eventDispatcher = $eventDispatcher;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -134,7 +141,7 @@ class ServerFactory {
|
||||||
$server->on('beforeMethod', function () use ($server, $objectTree, $viewCallBack) {
|
$server->on('beforeMethod', function () use ($server, $objectTree, $viewCallBack) {
|
||||||
// ensure the skeleton is copied
|
// ensure the skeleton is copied
|
||||||
$userFolder = \OC::$server->getUserFolder();
|
$userFolder = \OC::$server->getUserFolder();
|
||||||
|
|
||||||
/** @var \OC\Files\View $view */
|
/** @var \OC\Files\View $view */
|
||||||
$view = $viewCallBack($server);
|
$view = $viewCallBack($server);
|
||||||
if ($userFolder instanceof Folder && $userFolder->getPath() === $view->getRoot()) {
|
if ($userFolder instanceof Folder && $userFolder->getPath() === $view->getRoot()) {
|
||||||
|
@ -195,6 +202,18 @@ class ServerFactory {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
$server->addPlugin(new \OCA\DAV\Connector\Sabre\CopyEtagHeaderPlugin());
|
$server->addPlugin(new \OCA\DAV\Connector\Sabre\CopyEtagHeaderPlugin());
|
||||||
|
|
||||||
|
// Load dav plugins from apps
|
||||||
|
$event = new SabrePluginEvent($server);
|
||||||
|
$this->eventDispatcher->dispatch($event);
|
||||||
|
$pluginManager = new PluginManager(
|
||||||
|
\OC::$server,
|
||||||
|
\OC::$server->getAppManager()
|
||||||
|
);
|
||||||
|
foreach ($pluginManager->getAppPlugins() as $appPlugin) {
|
||||||
|
$server->addPlugin($appPlugin);
|
||||||
|
}
|
||||||
|
|
||||||
}, 30); // priority 30: after auth (10) and acl(20), before lock(50) and handling the request
|
}, 30); // priority 30: after auth (10) and acl(20), before lock(50) and handling the request
|
||||||
return $server;
|
return $server;
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,7 +67,8 @@ abstract class RequestTestCase extends TestCase {
|
||||||
$this->getMockBuilder(IRequest::class)
|
$this->getMockBuilder(IRequest::class)
|
||||||
->disableOriginalConstructor()
|
->disableOriginalConstructor()
|
||||||
->getMock(),
|
->getMock(),
|
||||||
\OC::$server->getPreviewManager()
|
\OC::$server->getPreviewManager(),
|
||||||
|
\OC::$server->getEventDispatcher()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue