Signed-off-by: Morris Jobke <hey@morrisjobke.de>tags/v14.0.0beta1
@@ -38,7 +38,7 @@ $dir = \OC\Files\Filesystem::normalizePath($dir); | |||
try { | |||
$dirInfo = \OC\Files\Filesystem::getFileInfo($dir); | |||
if (!$dirInfo || !$dirInfo->getType() === 'dir') { | |||
header("HTTP/1.0 404 Not Found"); | |||
http_response_code(404); | |||
exit(); | |||
} | |||
@@ -30,14 +30,13 @@ $route = isset($_GET['download']) ? 'files_sharing.sharecontroller.downloadShare | |||
if($token !== '') { | |||
$protocol = \OC::$server->getRequest()->getHttpProtocol(); | |||
if ($protocol == 'HTTP/1.0') { | |||
$status = '302 Found'; | |||
http_response_code(302); | |||
} else { | |||
$status = '307 Temporary Redirect'; | |||
http_response_code(307); | |||
} | |||
header($protocol.' ' . $status); | |||
header('Location: ' . $urlGenerator->linkToRoute($route, array('token' => $token))); | |||
} else { | |||
header('HTTP/1.0 404 Not Found'); | |||
http_response_code(404); | |||
$tmpl = new OCP\Template('', '404', 'guest'); | |||
print_unescaped($tmpl->fetchPage()); | |||
} |
@@ -34,7 +34,7 @@ $data = array(); | |||
try { | |||
$files = \OCA\Files_Trashbin\Helper::getTrashFiles($dir, \OCP\User::getUser(), $sortAttribute, $sortDirection); | |||
} catch (Exception $e) { | |||
header("HTTP/1.0 404 Not Found"); | |||
http_response_code(404); | |||
exit(); | |||
} | |||
@@ -34,7 +34,7 @@ $revision=(int)$_GET['revision']; | |||
try { | |||
list($uid, $filename) = OCA\Files_Versions\Storage::getUidAndFilename($file); | |||
} catch(\OCP\Files\NotFoundException $e) { | |||
header("HTTP/1.1 404 Not Found"); | |||
http_response_code(404); | |||
$tmpl = new OCP\Template('', '404', 'guest'); | |||
$tmpl->assign('file', ''); | |||
$tmpl->printPage(); |
@@ -54,7 +54,7 @@ try { | |||
\OC::$server->getLogger()->logException($ex2, array('app' => 'index')); | |||
//show the user a detailed error page | |||
OC_Template::printExceptionErrorPage($ex, \OC_Response::STATUS_INTERNAL_SERVER_ERROR); | |||
OC_Template::printExceptionErrorPage($ex, 500); | |||
} | |||
} catch (\OC\User\LoginException $ex) { | |||
OC_Template::printErrorPage($ex->getMessage(), $ex->getMessage(), OC_Response::STATUS_FORBIDDEN); | |||
@@ -62,24 +62,12 @@ try { | |||
\OC::$server->getLogger()->logException($ex, array('app' => 'index')); | |||
//show the user a detailed error page | |||
OC_Response::setStatus(OC_Response::STATUS_INTERNAL_SERVER_ERROR); | |||
OC_Template::printExceptionErrorPage($ex); | |||
OC_Template::printExceptionErrorPage($ex, 500); | |||
} catch (Error $ex) { | |||
try { | |||
\OC::$server->getLogger()->logException($ex, array('app' => 'index')); | |||
} catch (Error $e) { | |||
$claimedProtocol = strtoupper($_SERVER['SERVER_PROTOCOL']); | |||
$validProtocols = [ | |||
'HTTP/1.0', | |||
'HTTP/1.1', | |||
'HTTP/2', | |||
]; | |||
$protocol = 'HTTP/1.1'; | |||
if(in_array($claimedProtocol, $validProtocols, true)) { | |||
$protocol = $claimedProtocol; | |||
} | |||
header($protocol . ' 500 Internal Server Error'); | |||
http_response_code(500); | |||
header('Content-Type: text/plain; charset=utf-8'); | |||
print("Internal Server Error\n\n"); | |||
print("The server encountered an internal error and was unable to complete your request.\n"); |
@@ -287,8 +287,7 @@ class OC { | |||
// Allow ajax update script to execute without being stopped | |||
if (\OC::$server->getSystemConfig()->getValue('maintenance', false) && OC::$SUBURI != '/core/ajax/update.php') { | |||
// send http status 503 | |||
header('HTTP/1.1 503 Service Temporarily Unavailable'); | |||
header('Status: 503 Service Temporarily Unavailable'); | |||
http_response_code(503); | |||
header('Retry-After: 120'); | |||
// render error page | |||
@@ -344,8 +343,7 @@ class OC { | |||
if ($disableWebUpdater || ($tooBig && !$ignoreTooBigWarning)) { | |||
// send http status 503 | |||
header('HTTP/1.1 503 Service Temporarily Unavailable'); | |||
header('Status: 503 Service Temporarily Unavailable'); | |||
http_response_code(503); | |||
header('Retry-After: 120'); | |||
// render error page | |||
@@ -600,9 +598,7 @@ class OC { | |||
} catch (\RuntimeException $e) { | |||
if (!self::$CLI) { | |||
$claimedProtocol = strtoupper($_SERVER['SERVER_PROTOCOL']); | |||
$protocol = in_array($claimedProtocol, ['HTTP/1.0', 'HTTP/1.1', 'HTTP/2']) ? $claimedProtocol : 'HTTP/1.1'; | |||
header($protocol . ' ' . OC_Response::STATUS_SERVICE_UNAVAILABLE); | |||
http_response_code(503); | |||
} | |||
// we can't use the template error page here, because this needs the | |||
// DI container which isn't available yet | |||
@@ -689,7 +685,7 @@ class OC { | |||
} | |||
exit(1); | |||
} else { | |||
OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE); | |||
http_response_code(503); | |||
OC_Util::addStyle('guest'); | |||
OC_Template::printGuestPage('', 'error', array('errors' => $errors)); | |||
exit; | |||
@@ -778,16 +774,14 @@ class OC { | |||
} | |||
if(substr($request->getRequestUri(), -11) === '/status.php') { | |||
OC_Response::setStatus(\OC_Response::STATUS_BAD_REQUEST); | |||
header('Status: 400 Bad Request'); | |||
http_response_code(400); | |||
header('Content-Type: application/json'); | |||
echo '{"error": "Trusted domain error.", "code": 15}'; | |||
exit(); | |||
} | |||
if (!$isScssRequest) { | |||
OC_Response::setStatus(\OC_Response::STATUS_BAD_REQUEST); | |||
header('Status: 400 Bad Request'); | |||
http_response_code(400); | |||
\OC::$server->getLogger()->info( | |||
'Trusted domain error. "{remoteAddress}" tried to access using "{host}" as host.', | |||
@@ -997,7 +991,7 @@ class OC { | |||
} catch (Symfony\Component\Routing\Exception\ResourceNotFoundException $e) { | |||
//header('HTTP/1.0 404 Not Found'); | |||
} catch (Symfony\Component\Routing\Exception\MethodNotAllowedException $e) { | |||
OC_Response::setStatus(405); | |||
http_response_code(405); | |||
return; | |||
} | |||
} | |||
@@ -1007,8 +1001,7 @@ class OC { | |||
// not allowed any more to prevent people | |||
// mounting this root directly. | |||
// Users need to mount remote.php/webdav instead. | |||
header('HTTP/1.1 405 Method Not Allowed'); | |||
header('Status: 405 Method Not Allowed'); | |||
http_response_code(405); | |||
return; | |||
} | |||
@@ -88,7 +88,7 @@ class OC_API { | |||
} else { | |||
header('WWW-Authenticate: Basic realm="Authorisation Required"'); | |||
} | |||
header('HTTP/1.0 401 Unauthorized'); | |||
http_response_code(401); | |||
} | |||
foreach($result->getHeaders() as $name => $value) { | |||
@@ -101,7 +101,7 @@ class OC_API { | |||
$statusCode = self::mapStatusCodes($result->getStatusCode()); | |||
if (!is_null($statusCode)) { | |||
$meta['statuscode'] = $statusCode; | |||
OC_Response::setStatus($statusCode); | |||
http_response_code($statusCode); | |||
} | |||
} | |||
@@ -83,7 +83,7 @@ class OC_Files { | |||
$type = \OC::$server->getMimeTypeDetector()->getSecureMimeType(\OC\Files\Filesystem::getMimeType($filename)); | |||
if ($fileSize > -1) { | |||
if (!empty($rangeArray)) { | |||
header('HTTP/1.1 206 Partial Content', true); | |||
http_response_code(206); | |||
header('Accept-Ranges: bytes', true); | |||
if (count($rangeArray) > 1) { | |||
$type = 'multipart/byteranges; boundary='.self::getBoundary(); | |||
@@ -286,12 +286,12 @@ class OC_Files { | |||
if (\OC\Files\Filesystem::isReadable($filename)) { | |||
self::sendHeaders($filename, $name, $rangeArray); | |||
} elseif (!\OC\Files\Filesystem::file_exists($filename)) { | |||
header("HTTP/1.1 404 Not Found"); | |||
http_response_code(404); | |||
$tmpl = new OC_Template('', '404', 'guest'); | |||
$tmpl->printPage(); | |||
exit(); | |||
} else { | |||
header("HTTP/1.1 403 Forbidden"); | |||
http_response_code(403); | |||
die('403 Forbidden'); | |||
} | |||
if (isset($params['head']) && $params['head']) { | |||
@@ -321,7 +321,7 @@ class OC_Files { | |||
// file is unseekable | |||
header_remove('Accept-Ranges'); | |||
header_remove('Content-Range'); | |||
header("HTTP/1.1 200 OK"); | |||
http_response_code(200); | |||
self::sendHeaders($filename, $name, array()); | |||
$view->readfile($filename); | |||
} |
@@ -40,40 +40,6 @@ class OC_Response { | |||
const STATUS_INTERNAL_SERVER_ERROR = 500; | |||
const STATUS_SERVICE_UNAVAILABLE = 503; | |||
/** | |||
* Set response status | |||
* @param int $status a HTTP status code, see also the STATUS constants | |||
*/ | |||
static public function setStatus($status) { | |||
$protocol = \OC::$server->getRequest()->getHttpProtocol(); | |||
switch($status) { | |||
case self::STATUS_NOT_MODIFIED: | |||
$status = $status . ' Not Modified'; | |||
break; | |||
case self::STATUS_TEMPORARY_REDIRECT: | |||
if ($protocol == 'HTTP/1.0') { | |||
$status = self::STATUS_FOUND; | |||
// fallthrough | |||
} else { | |||
$status = $status . ' Temporary Redirect'; | |||
break; | |||
} | |||
case self::STATUS_FOUND; | |||
$status = $status . ' Found'; | |||
break; | |||
case self::STATUS_NOT_FOUND; | |||
$status = $status . ' Not Found'; | |||
break; | |||
case self::STATUS_INTERNAL_SERVER_ERROR; | |||
$status = $status . ' Internal Server Error'; | |||
break; | |||
case self::STATUS_SERVICE_UNAVAILABLE; | |||
$status = $status . ' Service Unavailable'; | |||
break; | |||
} | |||
header($protocol.' '.$status); | |||
} | |||
/** | |||
* Sets the content disposition header (with possible workarounds) | |||
* @param string $filename file name |
@@ -36,7 +36,7 @@ if (\OCP\Util::needUpgrade() | |||
|| \OC::$server->getSystemConfig()->getValue('maintenance', false)) { | |||
// since the behavior of apps or remotes are unpredictable during | |||
// an upgrade, return a 503 directly | |||
OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE); | |||
http_response_code(503); | |||
$response = new \OC\OCS\Result(null, OC_Response::STATUS_SERVICE_UNAVAILABLE, 'Service unavailable'); | |||
OC_API::respond($response, OC_API::requestedFormat()); | |||
exit; | |||
@@ -65,7 +65,7 @@ try { | |||
// Fall through the not found | |||
} catch (MethodNotAllowedException $e) { | |||
OC_API::setContentType(); | |||
OC_Response::setStatus(405); | |||
http_response_code(405); | |||
exit(); | |||
} catch (Exception $ex) { | |||
OC_API::respond($ex->getResult(), OC_API::requestedFormat()); | |||
@@ -89,7 +89,7 @@ try { | |||
OC_API::respond(new \OC\OCS\Result(null, \OCP\API::RESPOND_NOT_FOUND, $txt), $format); | |||
} catch (MethodNotAllowedException $e) { | |||
OC_API::setContentType(); | |||
OC_Response::setStatus(405); | |||
http_response_code(405); | |||
} catch (\OC\OCS\Exception $ex) { | |||
OC_API::respond($ex->getResult(), OC_API::requestedFormat()); | |||
} catch (\OC\User\LoginException $e) { |
@@ -45,7 +45,7 @@ try { | |||
$pathInfo = $request->getPathInfo(); | |||
if (!$pathInfo && $request->getParam('service', '') === '') { | |||
header('HTTP/1.0 404 Not Found'); | |||
http_response_code(404); | |||
exit; | |||
} elseif ($request->getParam('service', '')) { | |||
$service = $request->getParam('service', ''); | |||
@@ -55,7 +55,7 @@ try { | |||
} | |||
$file = \OC::$server->getConfig()->getAppValue('core', 'public_' . strip_tags($service)); | |||
if ($file === null) { | |||
header('HTTP/1.0 404 Not Found'); | |||
http_response_code(404); | |||
exit; | |||
} | |||
@@ -59,6 +59,6 @@ try { | |||
} | |||
} catch (Exception $ex) { | |||
OC_Response::setStatus(OC_Response::STATUS_INTERNAL_SERVER_ERROR); | |||
http_response_code(500); | |||
\OC::$server->getLogger()->logException($ex, ['app' => 'remote']); | |||
} |