mirror of
https://github.com/friendica/friendica
synced 2024-11-10 09:02:53 +00:00
Merge pull request #6225 from annando/http-error
Using the standard function to return http errors
This commit is contained in:
commit
5e60fa8210
3 changed files with 33 additions and 12 deletions
|
@ -18,8 +18,7 @@ function fetch_init(App $a)
|
|||
{
|
||||
|
||||
if (($a->argc != 3) || (!in_array($a->argv[1], ["post", "status_message", "reshare"]))) {
|
||||
header($_SERVER["SERVER_PROTOCOL"].' 404 '.L10n::t('Not Found'));
|
||||
killme();
|
||||
System::httpExit(404);
|
||||
}
|
||||
|
||||
$guid = $a->argv[2];
|
||||
|
@ -45,15 +44,13 @@ function fetch_init(App $a)
|
|||
}
|
||||
}
|
||||
|
||||
header($_SERVER["SERVER_PROTOCOL"].' 404 '.L10n::t('Not Found'));
|
||||
killme();
|
||||
System::httpExit(404);
|
||||
}
|
||||
|
||||
// Fetch some data from the author (We could combine both queries - but I think this is more readable)
|
||||
$user = User::getOwnerDataById($item["uid"]);
|
||||
if (!$user) {
|
||||
header($_SERVER["SERVER_PROTOCOL"].' 404 '.L10n::t('Not Found'));
|
||||
killme();
|
||||
System::httpExit(404);
|
||||
}
|
||||
|
||||
$status = Diaspora::buildStatus($item, $user);
|
||||
|
|
|
@ -7,6 +7,7 @@ use Friendica\Database\DBA;
|
|||
use Friendica\Model\Contact;
|
||||
use Friendica\Protocol\OStatus;
|
||||
use Friendica\Util\Strings;
|
||||
use Friendica\Core\System;
|
||||
|
||||
require_once 'include/items.php';
|
||||
|
||||
|
@ -16,7 +17,7 @@ function hub_return($valid, $body)
|
|||
header($_SERVER["SERVER_PROTOCOL"] . ' 200 OK');
|
||||
echo $body;
|
||||
} else {
|
||||
header($_SERVER["SERVER_PROTOCOL"] . ' 404 Not Found');
|
||||
System::httpExit(404);
|
||||
}
|
||||
killme();
|
||||
}
|
||||
|
@ -25,8 +26,7 @@ function hub_return($valid, $body)
|
|||
|
||||
function hub_post_return()
|
||||
{
|
||||
header($_SERVER["SERVER_PROTOCOL"] . ' 200 OK');
|
||||
killme();
|
||||
System::httpExit(200);
|
||||
}
|
||||
|
||||
function pubsub_init(App $a)
|
||||
|
|
|
@ -126,9 +126,33 @@ class System extends BaseObject
|
|||
{
|
||||
$err = '';
|
||||
if ($val >= 400) {
|
||||
$err = 'Error';
|
||||
if (!isset($description["title"])) {
|
||||
$description["title"] = $err." ".$val;
|
||||
if (!empty($description['title'])) {
|
||||
$err = $description['title'];
|
||||
} else {
|
||||
$title = [
|
||||
'400' => L10n::t('Error 400 - Bad Request'),
|
||||
'401' => L10n::t('Error 401 - Unauthorized'),
|
||||
'403' => L10n::t('Error 403 - Forbidden'),
|
||||
'404' => L10n::t('Error 404 - Not Found'),
|
||||
'500' => L10n::t('Error 500 - Internal Server Error'),
|
||||
'503' => L10n::t('Error 503 - Service Unavailable'),
|
||||
];
|
||||
$err = defaults($title, $val, 'Error ' . $val);
|
||||
$description['title'] = $err;
|
||||
}
|
||||
if (empty($description['description'])) {
|
||||
// Explanations are taken from https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
|
||||
$explanation = [
|
||||
'400' => L10n::t('The server cannot or will not process the request due to an apparent client error.'),
|
||||
'401' => L10n::t('Authentication is required and has failed or has not yet been provided.'),
|
||||
'403' => L10n::t('The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource, or may need an account.'),
|
||||
'404' => L10n::t('The requested resource could not be found but may be available in the future.'),
|
||||
'500' => L10n::t('An unexpected condition was encountered and no more specific message is suitable.'),
|
||||
'503' => L10n::t('The server is currently unavailable (because it is overloaded or down for maintenance). Please try again later.'),
|
||||
];
|
||||
if (!empty($explanation[$val])) {
|
||||
$description['description'] = $explanation[$val];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue