From d58cee2f7651a2a8cc9ef75a28f54883e2e01a67 Mon Sep 17 00:00:00 2001
From: Thomas Mueller <thomas.mueller@tmit.eu>
Date: Mon, 21 Jan 2013 14:57:33 +0100
Subject: [PATCH] returning http status code 503 in case connecting to the
 database failed

---
 lib/db.php | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/lib/db.php b/lib/db.php
index fbefb13a95..756901d864 100644
--- a/lib/db.php
+++ b/lib/db.php
@@ -182,6 +182,10 @@ class OC_DB {
 				self::$PDO=new PDO($dsn, $user, $pass, $opts);
 			}catch(PDOException $e) {
 				OC_User::setUserId(null);
+
+				// send http status 503
+				header('HTTP/1.1 503 Service Temporarily Unavailable');
+				header('Status: 503 Service Temporarily Unavailable');
 				OC_Template::printErrorPage('Failed to connect to '.$type.' database. ('.$e->getMessage().')' );
 				die();
 			}
@@ -280,6 +284,10 @@ class OC_DB {
 				OC_Log::write('core', self::$MDB2->getUserInfo(), OC_Log::FATAL);
 				OC_Log::write('core', self::$MDB2->getMessage(), OC_Log::FATAL);
 				OC_User::setUserId(null);
+
+				// send http status 503
+				header('HTTP/1.1 503 Service Temporarily Unavailable');
+				header('Status: 503 Service Temporarily Unavailable');
 				OC_Template::printErrorPage('Failed to connect to '.$type.' database. ('.self::$MDB2->getUserInfo().')' );
 				die();
 			}
-- 
GitLab