Merge pull request #17226 from owncloud/webdav-add-message-on-maintenance
In case of maintenance we should add a message to the exception
This commit is contained in:
commit
c57fb19b2f
|
@ -25,13 +25,16 @@
|
||||||
|
|
||||||
namespace OC\Connector\Sabre;
|
namespace OC\Connector\Sabre;
|
||||||
|
|
||||||
class MaintenancePlugin extends \Sabre\DAV\ServerPlugin
|
use Sabre\DAV\Exception\ServiceUnavailable;
|
||||||
{
|
use Sabre\DAV\Server;
|
||||||
|
use Sabre\DAV\ServerPlugin;
|
||||||
|
|
||||||
|
class MaintenancePlugin extends ServerPlugin {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reference to main server object
|
* Reference to main server object
|
||||||
*
|
*
|
||||||
* @var \Sabre\DAV\Server
|
* @var Server
|
||||||
*/
|
*/
|
||||||
private $server;
|
private $server;
|
||||||
|
|
||||||
|
@ -43,11 +46,10 @@ class MaintenancePlugin extends \Sabre\DAV\ServerPlugin
|
||||||
*
|
*
|
||||||
* This method should set up the required event subscriptions.
|
* This method should set up the required event subscriptions.
|
||||||
*
|
*
|
||||||
* @param \Sabre\DAV\Server $server
|
* @param Server $server
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function initialize(\Sabre\DAV\Server $server) {
|
public function initialize(Server $server) {
|
||||||
|
|
||||||
$this->server = $server;
|
$this->server = $server;
|
||||||
$this->server->on('beforeMethod', array($this, 'checkMaintenanceMode'), 10);
|
$this->server->on('beforeMethod', array($this, 'checkMaintenanceMode'), 10);
|
||||||
}
|
}
|
||||||
|
@ -56,19 +58,19 @@ class MaintenancePlugin extends \Sabre\DAV\ServerPlugin
|
||||||
* This method is called before any HTTP method and returns http status code 503
|
* This method is called before any HTTP method and returns http status code 503
|
||||||
* in case the system is in maintenance mode.
|
* in case the system is in maintenance mode.
|
||||||
*
|
*
|
||||||
* @throws \Sabre\DAV\Exception\ServiceUnavailable
|
* @throws ServiceUnavailable
|
||||||
* @internal param string $method
|
* @internal param string $method
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public function checkMaintenanceMode() {
|
public function checkMaintenanceMode() {
|
||||||
if (\OC::$server->getSystemConfig()->getValue('singleuser', false)) {
|
if (\OC::$server->getSystemConfig()->getValue('singleuser', false)) {
|
||||||
throw new \Sabre\DAV\Exception\ServiceUnavailable();
|
throw new ServiceUnavailable('System in single user mode.');
|
||||||
}
|
}
|
||||||
if (\OC_Config::getValue('maintenance', false)) {
|
if (\OC::$server->getSystemConfig()->getValue('maintenance', false)) {
|
||||||
throw new \Sabre\DAV\Exception\ServiceUnavailable();
|
throw new ServiceUnavailable('System in maintenance mode.');
|
||||||
}
|
}
|
||||||
if (\OC::checkUpgrade(false)) {
|
if (\OC::checkUpgrade(false)) {
|
||||||
throw new \Sabre\DAV\Exception\ServiceUnavailable('Upgrade needed');
|
throw new ServiceUnavailable('Upgrade needed');
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in New Issue