From: Christian Weiske Date: Fri, 13 Sep 2013 04:50:05 +0000 (+0200) Subject: don't crash on unknown api method X-Git-Url: https://git.cweiske.de/ouya-imagestore.git/commitdiff_plain/1be0a961c952e00fcba17e927e617257d22a6bb1 don't crash on unknown api method --- diff --git a/src/imagestore/Autoloader.php b/src/imagestore/Autoloader.php index cde5c89..5d877ba 100644 --- a/src/imagestore/Autoloader.php +++ b/src/imagestore/Autoloader.php @@ -5,7 +5,9 @@ class Autoloader public static function load($class) { $file = str_replace(array('_', '\\'), '/', $class) . '.php'; - include_once $file; + if (stream_resolve_include_path($file)) { + include_once $file; + } } public static function register() diff --git a/src/imagestore/Controller/Api.php b/src/imagestore/Controller/Api.php index 91e4373..fe0d2d9 100644 --- a/src/imagestore/Controller/Api.php +++ b/src/imagestore/Controller/Api.php @@ -1,12 +1,12 @@ error(404, 'Only API v1 supported'); + return $this->error(404, 'Only API v1 supported'); } $rest = substr($uri, 3); @@ -14,6 +14,10 @@ class Controller_Api $actionName = $parts[0]; $class = 'imagestore\Controller_Api_' . ucfirst($actionName); + if (!class_exists($class)) { + return $this->error(404, 'API method not supported'); + } + $action = new $class(); $action->handle(substr($rest, strlen($parts[0]) + 1)); }