Url: store current request in a public static class variable to allow access from everywhere
This commit is contained in:
parent
610cdb0f7c
commit
3edf176dc2
1 changed files with 15 additions and 9 deletions
24
src/Url.php
24
src/Url.php
|
@ -6,6 +6,12 @@ use Exception;
|
||||||
|
|
||||||
class Url {
|
class Url {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Current request
|
||||||
|
* @var UrlRequest|null
|
||||||
|
*/
|
||||||
|
public static $request = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configured URL patterns :
|
* Configured URL patterns :
|
||||||
*
|
*
|
||||||
|
@ -426,31 +432,31 @@ class Url {
|
||||||
public static function handle_request($default_url=null) {
|
public static function handle_request($default_url=null) {
|
||||||
$sentry_span = new SentrySpan('http.handle_request', 'Handle the HTTP request');
|
$sentry_span = new SentrySpan('http.handle_request', 'Handle the HTTP request');
|
||||||
|
|
||||||
$request = self :: get_request($default_url);
|
self :: $request = self :: get_request($default_url);
|
||||||
|
|
||||||
if (!is_callable($request -> handler)) {
|
if (!is_callable(self :: $request -> handler)) {
|
||||||
Log :: error(
|
Log :: error(
|
||||||
"URL handler function %s does not exists !",
|
"URL handler function %s does not exists !",
|
||||||
format_callable($request -> handler));
|
format_callable(self :: $request -> handler));
|
||||||
Log :: fatal(I18n::_("This request cannot be processed."));
|
Log :: fatal(I18n::_("This request cannot be processed."));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($request -> api_mode)
|
if (self :: $request -> api_mode)
|
||||||
self :: $_api_mode = true;
|
self :: $_api_mode = true;
|
||||||
if (Tpl :: initialized())
|
if (Tpl :: initialized())
|
||||||
Tpl :: assign('request', $request);
|
Tpl :: assign('request', self :: $request );
|
||||||
|
|
||||||
// Check authentication (if need)
|
// Check authentication (if need)
|
||||||
if($request -> authenticated && !Auth::login(true))
|
if(self :: $request -> authenticated && !Auth::login(true))
|
||||||
Log :: fatal(I18n::_("Authentication required but fail to authenticate you."));
|
Log :: fatal(I18n::_("Authentication required but fail to authenticate you."));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
call_user_func($request -> handler, $request);
|
call_user_func(self :: $request -> handler, self :: $request );
|
||||||
}
|
}
|
||||||
catch (Exception $e) {
|
catch (Exception $e) {
|
||||||
Log :: exception(
|
Log :: exception(
|
||||||
$e, "An exception occured running URL handler function %s()",
|
$e, "An exception occured running URL handler %s",
|
||||||
format_callable($request -> handler));
|
format_callable(self :: $request -> handler));
|
||||||
Log :: fatal(I18n::_("This request could not be processed correctly."));
|
Log :: fatal(I18n::_("This request could not be processed correctly."));
|
||||||
}
|
}
|
||||||
$sentry_span->finish();
|
$sentry_span->finish();
|
||||||
|
|
Loading…
Reference in a new issue