/** * Runs through defined API routines once. This call should be executed * once per request. * * @return bool */ public static function run() { try { $response = new \veneer\http\response(); $path = \veneer\util::request_path(); $endpoint_version = array_shift($path); $endpoint_name = array_shift($path); $request_params = \veneer\util::request_params(); $endpoint_version = \veneer\util::version('class', $endpoint_version); $class = sprintf('\\veneer\\endpoint\\%s\\%s', $endpoint_name, $endpoint_version); if (class_exists($class)) { $instance = new $class(); $instance->set_request_params($request_params); $instance->invoke('/' . implode('/', $path), $response); } else { $handler_param = self::get_default('output_handler_param'); $default_handler = self::get_default('output_handler'); $response->configure_handler($handler_param, $default_handler, $request_params); if (is_callable(self::get_default('no_endpoint_handler'))) { call_user_func(self::get_default('no_endpoint_handler'), $response); } else { self::no_endpoint($response); } } $response->send(); } catch (\Exception $e) { print $e->getMessage(); } }
public function test_version_munger() { $this->assertEquals('v5.9', \veneer\util::version('number', 'v5_9')); $this->assertEquals('v5_9', \veneer\util::version('class', 'v5.9')); $this->assertFalse(\veneer\util::version('oogabooga', 'v5.9')); }
/** * Check that there are endpoints defined. If there are no endpoints defined, * the end user should be alerted as the server is starting up. * * @return bool */ public function discover_endpoints() { foreach (\veneer\util::get_endpoints() as $version => $endpoints) { foreach ($endpoints as $endpoint) { self::debug('Found endpoint: ' . \veneer\util::version('number', $version) . '/' . $endpoint); } } }