aboutsummaryrefslogtreecommitdiffstats
path: root/apps/dav/appinfo/v2/direct.php
blob: 5ba9570602acb47215bf66b5ea9809002cfb0f09 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php

declare(strict_types=1);

/**
 * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */
use OCA\DAV\Db\DirectMapper;
use OCA\DAV\Direct\ServerFactory;
use OCP\AppFramework\Utility\ITimeFactory;

// no php execution timeout for webdav
if (!str_contains(@ini_get('disable_functions'), 'set_time_limit')) {
	@set_time_limit(0);
}
ignore_user_abort(true);

// Turn off output buffering to prevent memory problems
\OC_Util::obEnd();

$requestUri = \OC::$server->getRequest()->getRequestUri();

/** @var ServerFactory $serverFactory */
$serverFactory = \OC::$server->query(ServerFactory::class);
$server = $serverFactory->createServer(
	$baseuri,
	$requestUri,
	\OC::$server->getRootFolder(),
	\OC::$server->query(DirectMapper::class),
	\OC::$server->query(ITimeFactory::class),
	\OC::$server->getBruteForceThrottler(),
	\OC::$server->getRequest()
);

$server->exec();