Changed scope
This commit is contained in:
parent
ec5bd9a756
commit
57353eb9b0
33 changed files with 95 additions and 91 deletions
|
@ -371,7 +371,7 @@ function api_call(App $a, App\Arguments $args = null)
|
||||||
Logger::warning(API_LOG_PREFIX . 'not implemented', ['module' => 'api', 'action' => 'call', 'query' => DI::args()->getQueryString()]);
|
Logger::warning(API_LOG_PREFIX . 'not implemented', ['module' => 'api', 'action' => 'call', 'query' => DI::args()->getQueryString()]);
|
||||||
throw new NotFoundException();
|
throw new NotFoundException();
|
||||||
} catch (HTTPException $e) {
|
} catch (HTTPException $e) {
|
||||||
header("HTTP/1.1 {$e->getCode()} {$e->httpdesc}");
|
header("HTTP/1.1 {$e->getCode()} {$e->getDescription()}");
|
||||||
return api_error($type, $e, $args);
|
return api_error($type, $e, $args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,9 +35,7 @@ class Probe extends BaseModule
|
||||||
public static function content(array $parameters = [])
|
public static function content(array $parameters = [])
|
||||||
{
|
{
|
||||||
if (!local_user()) {
|
if (!local_user()) {
|
||||||
$e = new HTTPException\ForbiddenException(DI::l10n()->t('Only logged in users are permitted to perform a probing.'));
|
throw new HTTPException\ForbiddenException(DI::l10n()->t('Only logged in users are permitted to perform a probing.'));
|
||||||
$e->httpdesc = DI::l10n()->t('Public access denied.');
|
|
||||||
throw $e;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$addr = $_GET['addr'] ?? '';
|
$addr = $_GET['addr'] ?? '';
|
||||||
|
|
|
@ -34,9 +34,7 @@ class WebFinger extends BaseModule
|
||||||
public static function content(array $parameters = [])
|
public static function content(array $parameters = [])
|
||||||
{
|
{
|
||||||
if (!local_user()) {
|
if (!local_user()) {
|
||||||
$e = new \Friendica\Network\HTTPException\ForbiddenException(DI::l10n()->t('Only logged in users are permitted to perform a probing.'));
|
throw new \Friendica\Network\HTTPException\ForbiddenException(DI::l10n()->t('Only logged in users are permitted to perform a probing.'));
|
||||||
$e->httpdesc = DI::l10n()->t('Public access denied.');
|
|
||||||
throw $e;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$addr = $_GET['addr'] ?? '';
|
$addr = $_GET['addr'] ?? '';
|
||||||
|
|
|
@ -51,9 +51,7 @@ class Index extends BaseSearch
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DI::config()->get('system', 'local_search') && !Session::isAuthenticated()) {
|
if (DI::config()->get('system', 'local_search') && !Session::isAuthenticated()) {
|
||||||
$e = new HTTPException\ForbiddenException(DI::l10n()->t('Only logged in users are permitted to perform a search.'));
|
throw new HTTPException\ForbiddenException(DI::l10n()->t('Only logged in users are permitted to perform a search.'));
|
||||||
$e->httpdesc = DI::l10n()->t('Public access denied.');
|
|
||||||
throw $e;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DI::config()->get('system', 'permit_crawling') && !Session::isAuthenticated()) {
|
if (DI::config()->get('system', 'permit_crawling') && !Session::isAuthenticated()) {
|
||||||
|
|
|
@ -45,8 +45,8 @@ class HTTPException
|
||||||
{
|
{
|
||||||
// Explanations are mostly taken from https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
|
// Explanations are mostly taken from https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
|
||||||
$vars = [
|
$vars = [
|
||||||
'$title' => $e->httpdesc ?: 'Error ' . $e->getCode(),
|
'$title' => $e->getDescription() ?: 'Error ' . $e->getCode(),
|
||||||
'$message' => $e->getMessage() ?: $e->explanation,
|
'$message' => $e->getMessage() ?: $e->getExplanation(),
|
||||||
'$back' => DI::l10n()->t('Go back'),
|
'$back' => DI::l10n()->t('Go back'),
|
||||||
'$stack_trace' => DI::l10n()->t('Stack trace:'),
|
'$stack_trace' => DI::l10n()->t('Stack trace:'),
|
||||||
];
|
];
|
||||||
|
@ -74,7 +74,7 @@ class HTTPException
|
||||||
$content = Renderer::replaceMacros($tpl, self::getVars($e));
|
$content = Renderer::replaceMacros($tpl, self::getVars($e));
|
||||||
}
|
}
|
||||||
|
|
||||||
System::httpExit($e->getCode(), $e->httpdesc, $content);
|
System::httpExit($e->getCode(), $e->getDescription(), $content);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -86,10 +86,10 @@ class HTTPException
|
||||||
*/
|
*/
|
||||||
public static function content(\Friendica\Network\HTTPException $e)
|
public static function content(\Friendica\Network\HTTPException $e)
|
||||||
{
|
{
|
||||||
header($_SERVER["SERVER_PROTOCOL"] . ' ' . $e->getCode() . ' ' . $e->httpdesc);
|
header($_SERVER["SERVER_PROTOCOL"] . ' ' . $e->getCode() . ' ' . $e->getDescription());
|
||||||
|
|
||||||
if ($e->getCode() >= 400) {
|
if ($e->getCode() >= 400) {
|
||||||
Logger::debug('Exit with error', ['code' => $e->getCode(), 'description' => $e->httpdesc, 'query' => DI::args()->getQueryString(), 'callstack' => System::callstack(20), 'method' => $_SERVER['REQUEST_METHOD'], 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']);
|
Logger::debug('Exit with error', ['code' => $e->getCode(), 'description' => $e->getDescription(), 'query' => DI::args()->getQueryString(), 'callstack' => System::callstack(20), 'method' => $_SERVER['REQUEST_METHOD'], 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$tpl = Renderer::getMarkupTemplate('exception.tpl');
|
$tpl = Renderer::getMarkupTemplate('exception.tpl');
|
||||||
|
|
|
@ -31,11 +31,21 @@ use Exception;
|
||||||
*/
|
*/
|
||||||
abstract class HTTPException extends Exception
|
abstract class HTTPException extends Exception
|
||||||
{
|
{
|
||||||
public $httpdesc = '';
|
protected $httpdesc = '';
|
||||||
public $explanation = '';
|
protected $explanation = '';
|
||||||
|
|
||||||
public function __construct($message = '', Exception $previous = null)
|
public function __construct($message = '', Exception $previous = null)
|
||||||
{
|
{
|
||||||
parent::__construct($message, $this->code, $previous);
|
parent::__construct($message, $this->code, $previous);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getDescription()
|
||||||
|
{
|
||||||
|
return $this->httpdesc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getExplanation()
|
||||||
|
{
|
||||||
|
return $this->explanation;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,6 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class AcceptedException extends HTTPException
|
class AcceptedException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 202;
|
protected $code = 202;
|
||||||
var $httpdesc = 'Accepted';
|
protected $httpdesc = 'Accepted';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class BadGatewayException extends HTTPException
|
class BadGatewayException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 502;
|
protected $code = 502;
|
||||||
var $httpdesc = 'Bad Gateway';
|
protected $httpdesc = 'Bad Gateway';
|
||||||
var $explanation = 'The server was acting as a gateway or proxy and received an invalid response from the upstream server.';
|
protected $explanation = 'The server was acting as a gateway or proxy and received an invalid response from the upstream server.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class BadRequestException extends HTTPException
|
class BadRequestException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 400;
|
protected $code = 400;
|
||||||
var $httpdesc = 'Bad Request';
|
protected $httpdesc = 'Bad Request';
|
||||||
var $explanation = 'The server cannot or will not process the request due to an apparent client error.';
|
protected $explanation = 'The server cannot or will not process the request due to an apparent client error.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class ConflictException extends HTTPException
|
class ConflictException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 409;
|
protected $code = 409;
|
||||||
var $httpdesc = 'Conflict ';
|
protected $httpdesc = 'Conflict ';
|
||||||
var $explanation = 'Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates.';
|
protected $explanation = 'Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class ExpectationFailedException extends HTTPException
|
class ExpectationFailedException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 417;
|
protected $code = 417;
|
||||||
var $httpdesc = 'Expectation Failed';
|
protected $httpdesc = 'Expectation Failed';
|
||||||
var $explanation = 'The server cannot meet the requirements of the Expect request-header field.';
|
protected $explanation = 'The server cannot meet the requirements of the Expect request-header field.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class ForbiddenException extends HTTPException
|
class ForbiddenException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 403;
|
protected $code = 403;
|
||||||
var $httpdesc = 'Forbidden';
|
protected $httpdesc = 'Forbidden';
|
||||||
var $explanation = '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.';
|
protected $explanation = '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.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,6 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class FoundException extends HTTPException
|
class FoundException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 302;
|
protected $code = 302;
|
||||||
var $httpdesc = 'Found (Moved Temporarily)';
|
protected $httpdesc = 'Found (Moved Temporarily)';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class GatewayTimeoutException extends HTTPException
|
class GatewayTimeoutException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 504;
|
protected $code = 504;
|
||||||
var $httpdesc = 'Gateway Timeout';
|
protected $httpdesc = 'Gateway Timeout';
|
||||||
var $explanation = 'The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.';
|
protected $explanation = 'The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class GoneException extends HTTPException
|
class GoneException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 410;
|
protected $code = 410;
|
||||||
var $httpdesc = 'Gone';
|
protected $httpdesc = 'Gone';
|
||||||
var $explanation = 'Indicates that the resource requested is no longer available and will not be available again.';
|
protected $explanation = 'Indicates that the resource requested is no longer available and will not be available again.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class ImATeapotException extends HTTPException
|
class ImATeapotException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 418;
|
protected $code = 418;
|
||||||
var $httpdesc = "I'm A Teapot";
|
protected $httpdesc = "I'm A Teapot";
|
||||||
var $explanation = 'This is a teapot that is requested to brew coffee.';
|
protected $explanation = 'This is a teapot that is requested to brew coffee.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class InternalServerErrorException extends HTTPException
|
class InternalServerErrorException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 500;
|
protected $code = 500;
|
||||||
var $httpdesc = 'Internal Server Error';
|
protected $httpdesc = 'Internal Server Error';
|
||||||
var $explanation = 'An unexpected condition was encountered and no more specific message is suitable.';
|
protected $explanation = 'An unexpected condition was encountered and no more specific message is suitable.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class LenghtRequiredException extends HTTPException
|
class LenghtRequiredException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 411;
|
protected $code = 411;
|
||||||
var $httpdesc = 'Length Required';
|
protected $httpdesc = 'Length Required';
|
||||||
var $explanation = 'The request did not specify the length of its content, which is required by the requested resource.';
|
protected $explanation = 'The request did not specify the length of its content, which is required by the requested resource.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class MethodNotAllowedException extends HTTPException
|
class MethodNotAllowedException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 405;
|
protected $code = 405;
|
||||||
var $httpdesc = 'Method Not Allowed';
|
protected $httpdesc = 'Method Not Allowed';
|
||||||
var $explanation = 'A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource.';
|
protected $explanation = 'A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,6 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class MovedPermanentlyException extends HTTPException
|
class MovedPermanentlyException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 301;
|
protected $code = 301;
|
||||||
var $httpdesc = 'Moved Permanently';
|
protected $httpdesc = 'Moved Permanently';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,6 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class NoContentException extends HTTPException
|
class NoContentException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 204;
|
protected $code = 204;
|
||||||
var $httpdesc = 'No Content';
|
protected $httpdesc = 'No Content';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class NonAcceptableException extends HTTPException
|
class NonAcceptableException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 406;
|
protected $code = 406;
|
||||||
var $httpdesc = 'Not Acceptable';
|
protected $httpdesc = 'Not Acceptable';
|
||||||
var $explanation = 'The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request.';
|
protected $explanation = 'The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class NotFoundException extends HTTPException
|
class NotFoundException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 404;
|
protected $code = 404;
|
||||||
var $httpdesc = 'Not Found';
|
protected $httpdesc = 'Not Found';
|
||||||
var $explanation = 'The requested resource could not be found but may be available in the future.';
|
protected $explanation = 'The requested resource could not be found but may be available in the future.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class NotImplementedException extends HTTPException
|
class NotImplementedException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 501;
|
protected $code = 501;
|
||||||
var $httpdesc = 'Not Implemented';
|
protected $httpdesc = 'Not Implemented';
|
||||||
var $explanation = 'The server either does not recognize the request method, or it lacks the ability to fulfil the request. Usually this implies future availability (e.g., a new feature of a web-service API).';
|
protected $explanation = 'The server either does not recognize the request method, or it lacks the ability to fulfil the request. Usually this implies future availability (e.g., a new feature of a web-service API).';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,6 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class NotModifiedException extends HTTPException
|
class NotModifiedException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 304;
|
protected $code = 304;
|
||||||
var $httpdesc = 'Not Modified';
|
protected $httpdesc = 'Not Modified';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,6 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class OKException extends HTTPException
|
class OKException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 200;
|
protected $code = 200;
|
||||||
var $httpdesc = 'OK';
|
protected $httpdesc = 'OK';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class PreconditionFailedException extends HTTPException
|
class PreconditionFailedException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 412;
|
protected $code = 412;
|
||||||
var $httpdesc = 'Precondition Failed';
|
protected $httpdesc = 'Precondition Failed';
|
||||||
var $explanation = 'The server does not meet one of the preconditions that the requester put on the request header fields.';
|
protected $explanation = 'The server does not meet one of the preconditions that the requester put on the request header fields.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class ServiceUnavailableException extends HTTPException
|
class ServiceUnavailableException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 503;
|
protected $code = 503;
|
||||||
var $httpdesc = 'Service Unavailable';
|
protected $httpdesc = 'Service Unavailable';
|
||||||
var $explanation = 'The server is currently unavailable (because it is overloaded or down for maintenance). Please try again later.';
|
protected $explanation = 'The server is currently unavailable (because it is overloaded or down for maintenance). Please try again later.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,6 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class TemporaryRedirectException extends HTTPException
|
class TemporaryRedirectException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 307;
|
protected $code = 307;
|
||||||
var $httpdesc = 'Temporary Redirect';
|
protected $httpdesc = 'Temporary Redirect';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class TooManyRequestsException extends HTTPException
|
class TooManyRequestsException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 429;
|
protected $code = 429;
|
||||||
var $httpdesc = 'Too Many Requests';
|
protected $httpdesc = 'Too Many Requests';
|
||||||
var $explanation = 'The user has sent too many requests in a given amount of time.';
|
protected $explanation = 'The user has sent too many requests in a given amount of time.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class UnauthorizedException extends HTTPException
|
class UnauthorizedException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 401;
|
protected $code = 401;
|
||||||
var $httpdesc = 'Unauthorized';
|
protected $httpdesc = 'Unauthorized';
|
||||||
var $explanation = 'Authentication is required and has failed or has not yet been provided.';
|
protected $explanation = 'Authentication is required and has failed or has not yet been provided.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class UnprocessableEntityException extends HTTPException
|
class UnprocessableEntityException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 422;
|
protected $code = 422;
|
||||||
var $httpdesc = 'Unprocessable Entity';
|
protected $httpdesc = 'Unprocessable Entity';
|
||||||
var $explanation = 'The request was well-formed but was unable to be followed due to semantic errors.';
|
protected $explanation = 'The request was well-formed but was unable to be followed due to semantic errors.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
class UnsupportedMediaTypeException extends HTTPException
|
class UnsupportedMediaTypeException extends HTTPException
|
||||||
{
|
{
|
||||||
protected $code = 415;
|
protected $code = 415;
|
||||||
var $httpdesc = 'Unsupported Media Type';
|
protected $httpdesc = 'Unsupported Media Type';
|
||||||
var $explanation = 'The request entity has a media type which the server or resource does not support. For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format.';
|
protected $explanation = 'The request entity has a media type which the server or resource does not support. For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format.';
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue