git.gnu.io has moved to IP address 209.51.188.249 -- please double check where you are logging in.

Commit 6834f355 authored by mmn's avatar mmn

Making ClientExceptions turn into ClientErrorAction

Got some 404s which were presented as 500
parent 99261e07
......@@ -125,16 +125,21 @@ function handleError($error)
common_config('site', 'email')
);
$dac = new DBErrorAction($msg, 500);
$dac->showPage();
$erraction = new DBErrorAction($msg, 500);
} elseif ($error instanceof ClientException) {
$erraction = new ClientErrorAction($error->getMessage(), $error->getCode());
} elseif ($error instanceof ServerException) {
$erraction = new ServerErrorAction($error->getMessage(), $error->getCode(), $error);
} else {
$sac = new ServerErrorAction($error->getMessage(), 500, $error);
$sac->showPage();
// If it wasn't specified more closely which kind of exception it was
$erraction = new ServerErrorAction($error->getMessage(), 500, $error);
}
$erraction->showPage();
} catch (Exception $e) {
// TRANS: Error message.
echo _('An error occurred.');
exit(-1);
}
exit(-1);
}
......@@ -255,13 +260,6 @@ function main()
$args = $r->map($path);
if (!$args) {
// TRANS: Error message displayed when trying to access a non-existing page.
$cac = new ClientErrorAction(_('Unknown page'), 404);
$cac->showPage();
return;
}
$site_ssl = common_config('site', 'ssl');
// If the request is HTTP and it should be HTTPS...
......@@ -309,22 +307,10 @@ function main()
if (!class_exists($action_class)) {
// TRANS: Error message displayed when trying to perform an undefined action.
$cac = new ClientErrorAction(_('Unknown action'), 404);
$cac->showPage();
} else {
try {
call_user_func("$action_class::run", $args);
} catch (ClientException $cex) {
$cac = new ClientErrorAction($cex->getMessage(), $cex->getCode());
$cac->showPage();
} catch (ServerException $sex) { // snort snort guffaw
$sac = new ServerErrorAction($sex->getMessage(), $sex->getCode(), $sex);
$sac->showPage();
} catch (Exception $ex) {
$sac = new ServerErrorAction($ex->getMessage(), 500, $ex);
$sac->showPage();
}
throw new ClientException(_('Unknown action'), 404);
}
call_user_func("$action_class::run", $args);
}
main();
......
......@@ -1094,14 +1094,12 @@ class Router
function map($path)
{
try {
$match = $this->m->match($path);
} catch (Exception $e) {
common_debug('Problem getting route for '._ve($path).' - '._ve($e->getMessage()));
return $this->m->match($path);
} catch (NoRouteMapException $e) {
common_debug($e->getMessage());
// TRANS: Client error on action trying to visit a non-existing page.
throw new ClientException(_('Page not found.'), 404);
}
return $match;
}
function build($action, $args=null, $params=null, $fragment=null)
......
......@@ -123,7 +123,7 @@ class URLMapper
}
}
throw new Exception(sprintf('No match for path "%s"', $path));
throw new NoRouteMapException($path);
}
function generate($args, $qstring, $fragment)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment