summaryrefslogtreecommitdiffstats
path: root/apps/dav/appinfo
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2018-05-01 14:54:44 +0200
committerGitHub <noreply@github.com>2018-05-01 14:54:44 +0200
commitf212c692ac5204fbea4639727db8e464152dba5d (patch)
treeb12f4670807486983f82e9527791b89c8ee78625 /apps/dav/appinfo
parent7f194be3ab4ad0ee8edf095bf6d79a17f116f782 (diff)
parent1c75ddac45845d9e91997e6253e36b9ae2556e91 (diff)
downloadnextcloud-server-f212c692ac5204fbea4639727db8e464152dba5d.tar.gz
nextcloud-server-f212c692ac5204fbea4639727db8e464152dba5d.zip
Merge pull request #9178 from nextcloud/feature/9142/directdownload
Add directdownload endpoint
Diffstat (limited to 'apps/dav/appinfo')
-rw-r--r--apps/dav/appinfo/info.xml6
-rw-r--r--apps/dav/appinfo/routes.php5
-rw-r--r--apps/dav/appinfo/v2/direct.php47
3 files changed, 56 insertions, 2 deletions
diff --git a/apps/dav/appinfo/info.xml b/apps/dav/appinfo/info.xml
index 3afef530e7a..d31851fe17e 100644
--- a/apps/dav/appinfo/info.xml
+++ b/apps/dav/appinfo/info.xml
@@ -5,7 +5,7 @@
<name>WebDAV</name>
<summary>WebDAV endpoint</summary>
<description>WebDAV endpoint</description>
- <version>1.5.0</version>
+ <version>1.5.2</version>
<licence>agpl</licence>
<author>owncloud.org</author>
<namespace>DAV</namespace>
@@ -19,6 +19,10 @@
<nextcloud min-version="14" max-version="14" />
</dependencies>
+ <background-jobs>
+ <job>OCA\DAV\BackgroundJob\CleanupDirectLinksJob</job>
+ </background-jobs>
+
<repair-steps>
<post-migration>
<step>OCA\DAV\Migration\FixBirthdayCalendarComponent</step>
diff --git a/apps/dav/appinfo/routes.php b/apps/dav/appinfo/routes.php
index e6785bfd4e6..2aaeda98964 100644
--- a/apps/dav/appinfo/routes.php
+++ b/apps/dav/appinfo/routes.php
@@ -25,5 +25,8 @@ return [
'routes' => [
['name' => 'birthday_calendar#enable', 'url' => '/enableBirthdayCalendar', 'verb' => 'POST'],
['name' => 'birthday_calendar#disable', 'url' => '/disableBirthdayCalendar', 'verb' => 'POST'],
- ]
+ ],
+ 'ocs' => [
+ ['name' => 'direct#getUrl', 'url' => '/api/v1/direct', 'verb' => 'POST'],
+ ],
];
diff --git a/apps/dav/appinfo/v2/direct.php b/apps/dav/appinfo/v2/direct.php
new file mode 100644
index 00000000000..3762a628303
--- /dev/null
+++ b/apps/dav/appinfo/v2/direct.php
@@ -0,0 +1,47 @@
+<?php
+declare(strict_types=1);
+/**
+ * @copyright 2018, Roeland Jago Douma <roeland@famdouma.nl>
+ *
+ * @author Roeland Jago Douma <roeland@famdouma.nl>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// no php execution timeout for webdav
+if (strpos(@ini_get('disable_functions'), 'set_time_limit') === false) {
+ @set_time_limit(0);
+}
+ignore_user_abort(true);
+
+// Turn off output buffering to prevent memory problems
+\OC_Util::obEnd();
+
+$requestUri = \OC::$server->getRequest()->getRequestUri();
+
+$serverFactory = new \OCA\DAV\Direct\ServerFactory(\OC::$server->getConfig());
+$server = $serverFactory->createServer(
+ $baseuri,
+ $requestUri,
+ \OC::$server->getRootFolder(),
+ \OC::$server->query(\OCA\DAV\Db\DirectMapper::class),
+ \OC::$server->query(\OCP\AppFramework\Utility\ITimeFactory::class),
+ \OC::$server->getBruteForceThrottler(),
+ \OC::$server->getRequest()
+);
+
+$server->exec();