From 972fffbe02d1e0493d498859b76de698ecf5d067 Mon Sep 17 00:00:00 2001
From: Vincent Petry <pvince81@owncloud.com>
Date: Mon, 30 Jun 2014 15:37:38 +0200
Subject: [PATCH] Return 503 OCS response with requested format

---
 lib/private/api.php | 2 +-
 ocs/v1.php          | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/private/api.php b/lib/private/api.php
index 7488769095..e9c144564f 100644
--- a/lib/private/api.php
+++ b/lib/private/api.php
@@ -301,7 +301,7 @@ class OC_API {
 	 * @param OC_OCS_Result $result
 	 * @param string $format the format xml|json
 	 */
-	private static function respond($result, $format='xml') {
+	public static function respond($result, $format='xml') {
 		// Send 401 headers if unauthorised
 		if($result->getStatusCode() === self::RESPOND_UNAUTHORISED) {
 			header('WWW-Authenticate: Basic realm="Authorisation Required"');
diff --git a/ocs/v1.php b/ocs/v1.php
index 624355a850..0a86fb0641 100644
--- a/ocs/v1.php
+++ b/ocs/v1.php
@@ -27,7 +27,8 @@ if (\OCP\Util::needUpgrade()) {
 	// since the behavior of apps or remotes are unpredictable during
 	// an upgrade, return a 503 directly
 	OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE);
-	OC_Template::printErrorPage('Service unavailable');
+	$response = new OC_OCS_Result(null, OC_Response::STATUS_SERVICE_UNAVAILABLE, 'Service unavailable');
+	OC_API::respond($response, OC_API::requestedFormat());
 	exit;
 }
 
-- 
GitLab