Пример #1
0
 /**
  * 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();
     }
 }
Пример #2
0
 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'));
 }
Пример #3
0
 /**
  * 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);
         }
     }
 }