<?php require __DIR__ . '/common.php'; use JsonRPC\Server; use PicoFeed\PicoFeedException; use Model\Config; $server = new Server(); $server->authentication(array(Config\get('username') => Config\get('api_token'))); // Get version $server->register('app.version', function () { return array('version' => APP_VERSION); }); // Get all feeds $server->register('feed.list', function () { return Model\Feed\get_all(); }); // Get one feed $server->register('feed.info', function ($feed_id) { return Model\Feed\get($feed_id); }); // Add a new feed $server->register('feed.create', function ($url) { try { $result = Model\Feed\create($url); } catch (PicoFeedException $e) { $result = false; } catch (UnexpectedValueException $e) { $result = false; } Model\Config\write_debug(); return $result;
public function testBatchNotifications() { $server = new Server('[ {"jsonrpc": "2.0", "method": "notify_sum", "params": [1,2,4]}, {"jsonrpc": "2.0", "method": "notify_hello", "params": [7]} ]'); $server->register('notify_sum', function ($a, $b, $c) { }); $server->register('notify_hello', function ($id) { }); $this->assertEquals('', $server->execute()); }
$project->attachEvents(); $webhook->attachEvents(); $notification->attachEvents(); // Load translations $language = $config->get('language', 'en_US'); if ($language !== 'en_US') { Translator::load($language); } $server = new Server(); $server->authentication(array('jsonrpc' => $config->get('api_token'))); /** * Project procedures */ $server->register('createProject', function ($name) use($project) { $values = array('name' => $name); list($valid, ) = $project->validateCreation($values); return $valid && $project->create($values); }); $server->register('getProjectById', function ($project_id) use($project) { return $project->getById($project_id); }); $server->register('getProjectByName', function ($name) use($project) { return $project->getByName($name); }); $server->register('getAllProjects', function () use($project) { return $project->getAll(); }); $server->register('updateProject', function ($id, $name, $is_active = null, $is_public = null, $token = null) use($project) { $values = array('id' => $id, 'name' => $name, 'is_active' => $is_active, 'is_public' => $is_public, 'token' => $token); foreach ($values as $key => $value) { if (is_null($value)) {
<?php require "JsonRPC/src/JsonRPC/Server.php"; use JsonRPC\Server; $server = new Server(); // Procedures registration $server->register('addition', function ($a, $b) { return $a + $b; }); $server->register('random', function ($start, $end) { return mt_rand($start, $end); }); $server->register('hello', function () { return 'world'; }); // Return the response to the client echo $server->execute();
public function testRegisterPositionalArguments() { $server = new Server(); $server->register('getAllA', function ($p1, $p2, $p3 = 4) { return $p1 + $p2 + $p3; }); $this->assertEquals(6, $server->executeProcedure('getAllA', array(4, -2))); $this->assertEquals(2, $server->executeProcedure('getAllA', array(4, 0, -2))); }
<?php require __DIR__ . '/common.php'; use JsonRPC\Server; $server = new Server(); $server->authentication(array(\Model\Config\get('username') => \Model\Config\get('api_token'))); // Get all feeds $server->register('feed.list', function () { return Model\Feed\get_all(); }); // Get one feed $server->register('feed.info', function ($feed_id) { return Model\Feed\get($feed_id); }); // Add a new feed $server->register('feed.create', function ($url) { $result = Model\Feed\create($url); Model\Config\write_debug(); return $result; }); // Delete a feed $server->register('feed.delete', function ($feed_id) { return Model\Feed\remove($feed_id); }); // Delete all feeds $server->register('feed.delete_all', function () { return Model\Feed\remove_all(); }); // Enable a feed $server->register('feed.enable', function ($feed_id) { return Model\Feed\enable($feed_id);