don't crash on unknown api method
[ouya-imagestore.git] / src / imagestore / Controller / Api.php
1 <?php
2 namespace imagestore;
3
4 class Controller_Api extends Controller_Base
5 {
6     public function handle($uri)
7     {
8         if (substr($uri, 0, 3) != 'v1/') {
9             return $this->error(404, 'Only API v1 supported');
10         }
11
12         $rest = substr($uri, 3);
13         $parts = explode('/', $rest);
14         $actionName = $parts[0];
15         $class = 'imagestore\Controller_Api_' . ucfirst($actionName);
16
17         if (!class_exists($class)) {
18             return $this->error(404, 'API method not supported');
19         }
20
21         $action = new $class();
22         $action->handle(substr($rest, strlen($parts[0]) + 1));
23     }
24 }
25 ?>