2017 © Pedro Peláez
 

library tivoka

The universal JSON-RPC client/server library. JSON-RPC done right!

image

tivoka/tivoka

The universal JSON-RPC client/server library. JSON-RPC done right!

  • Sunday, March 5, 2017
  • by marcelklehr
  • Repository
  • 13 Watchers
  • 68 Stars
  • 55,196 Installations
  • PHP
  • 4 Dependents
  • 0 Suggesters
  • 36 Forks
  • 15 Open issues
  • 15 Versions
  • 5 % Grown

The README.md

Tivoka

JSON-RPC client and server for PHP 5.3+, (*1)

  • Easily switch between the v1.0 and v2.0 specs
  • HTTP, TCP and Websocket transports available

Examples

These are just some quick examples. Check out the docs in /doc/., (*2)

Do a request through HTTP..., (*3)

<?php
$connection = Tivoka\Client::connect('http://example.com/api')
$request = $connection->sendRequest('substract', array(51, 9));
print $request->result;// 42
?>

...or plain TCP, (*4)

<?php
$connection = Tivoka\Client::connect(array('host' => 'example.com', 'port' => 1234))
$request = $connection->sendRequest('substract', array(51, 9));
print $request->result;// 42
?>

...or WebSocket, (*5)

<?php
$connection = Tivoka\Client::connect('ws://example.com/api')
$request = $connection->sendRequest('substract', array(51, 9));
print $request->result;// 42
?>

Create a server, (*6)

<?php
$methods = array(
    'substract' => function($params) {
        list($num1, $num2) = $params
        return $num1 - $num2;
    }
);
Tivoka\Server::provide($methods)->dispatch();
?>
  • Have a look at the documentation in doc/
  • Submit any bugs, suggestions or questions to the issue tracker

Installation

Install composer package

  1. Set up composer.json in your project directory:
{
  "require":{"tivoka/tivoka":"*"}
}
  1. Run composer:
$ php composer.phar install

Now, include 'vendor/autoload.php', (*7)

License

Copyright 2011-2012 by Marcel Klehr MIT License., (*8)

Changelog

3.5.1, (*9)

  • Fix Http Connection

3.5.0, (*10)

  • Add support for cookies if curl is installed (thanks to @oxan)

3.4.2, (*11)

  • Fix HTTP via curl: Don't add a trailing newline for http headers (thanks to @oskarcafe)

3.4.1, (*12)

  • Http: Use cURL if available (thanks to @hschletz)

3.4.0, (*13)

  • Adding options to set/override request headers in WebSocket (thanks to @fiddur)

3.3.0, (*14)

  • Add websocket transport (thanks to @fiddur)

3.2.1, (*15)

  • Fix #41: Fix Exception catcher in Tivoka\Server\Server::process (thanks to @ikulis)

3.2.0, (*16)

  • Feature: Plain TCP connections (revamped a lot of our internals along the way! thanks go out to @rafalwrzeszcz)
  • Feature: Configurable connection timeout

3.1.0, (*17)

  • Fix #27: json-rpc response[result] may be null (thanks to @vaab)
  • Feature: Allow setting of request headers and expose response headers (thanks to @vaab)
  • Fix bug with client-side notifications
  • Add docs in doc/

3.0.1, (*18)

  • Fix a typo, that used to screw up things when throwing an exception (thanks to @gahr)

3.0.0, (*19)

  • use Namespaces (no longer supports php5.2)
  • new factory classes (per server/client)
  • Requests no longer require $id argument
  • Dramatically simplified serverside usage
  • Fluid spec version setter
  • Now available as composer package

2.0.3, (*20)

  • Added HTTPS support
  • target scheme is now treated case insensitive

2.0.2, (*21)

  • Introduced new directory structure
  • Fixed #10
  • Some Exception messages changed slightly to be more specific

2.0.1, (*22)

  • Patched http method spelling (make uppercase, so all servers accept it)

2.0.0, (*23)

  • complete Code base rework
  • major API change
  • removed Response Class
  • Added aa number of shortcuts
  • Implemented native remote interface

The Versions

05/03 2017

dev-develop

dev-develop http://marcelklehr.github.com/tivoka

The universal JSON-RPC client/server library. JSON-RPC done right!

  Sources   Download

MIT

The Requires

 

by Marcel Klehr

api json json-rpc xml-rpc rpc

20/10 2016

dev-master

9999999-dev http://marcelklehr.github.com/tivoka

The universal JSON-RPC client/server library. JSON-RPC done right!

  Sources   Download

MIT

The Requires

 

by Marcel Klehr

api json json-rpc xml-rpc rpc

20/10 2016

3.5.2

3.5.2.0 http://marcelklehr.github.com/tivoka

The universal JSON-RPC client/server library. JSON-RPC done right!

  Sources   Download

MIT

The Requires

 

by Marcel Klehr

api json json-rpc xml-rpc rpc

14/03 2016

3.5.1

3.5.1.0 http://marcelklehr.github.com/tivoka

The universal JSON-RPC client/server library. JSON-RPC done right!

  Sources   Download

MIT

The Requires

 

by Marcel Klehr

api json json-rpc xml-rpc rpc

03/03 2016

3.5.0

3.5.0.0 http://marcelklehr.github.com/tivoka

The universal JSON-RPC client/server library. JSON-RPC done right!

  Sources   Download

MIT

The Requires

 

by Marcel Klehr

api json json-rpc xml-rpc rpc

12/01 2015

3.4.2

3.4.2.0 http://marcelklehr.github.com/tivoka

The universal JSON-RPC client/server library. JSON-RPC done right!

  Sources   Download

MIT

The Requires

 

by Marcel Klehr

api json json-rpc xml-rpc rpc

11/12 2014

3.4.1

3.4.1.0 http://marcelklehr.github.com/tivoka

The universal JSON-RPC client/server library. JSON-RPC done right!

  Sources   Download

MIT

The Requires

 

by Marcel Klehr

api json json-rpc xml-rpc rpc

30/10 2014

3.4.0

3.4.0.0 http://marcelklehr.github.com/tivoka

The universal JSON-RPC client/server library. JSON-RPC done right!

  Sources   Download

MIT

The Requires

 

by Marcel Klehr

api json json-rpc xml-rpc rpc

28/10 2014

dev-dev-websocket-options

dev-dev-websocket-options http://marcelklehr.github.com/tivoka

The universal JSON-RPC client/server library. JSON-RPC done right!

  Sources   Download

MIT

The Requires

 

by Marcel Klehr

api json json-rpc xml-rpc rpc

24/06 2014

3.3.0

3.3.0.0 http://marcelklehr.github.com/tivoka

The universal JSON-RPC client/server library. JSON-RPC done right!

  Sources   Download

MIT

The Requires

 

by Marcel Klehr

api json json-rpc xml-rpc rpc

08/01 2014

3.2.1

3.2.1.0 http://marcelklehr.github.com/tivoka

The universal JSON-RPC client/server library. JSON-RPC done right!

  Sources   Download

MIT

The Requires

  • php >=5.3

 

by Marcel Klehr

api json json-rpc xml-rpc rpc

19/02 2013

3.2.0

3.2.0.0 http://marcelklehr.github.com/tivoka

The universal JSON-RPC client/server library. JSON-RPC done right!

  Sources   Download

MIT

The Requires

  • php >=5.3

 

by Marcel Klehr

api json json-rpc xml-rpc rpc

16/09 2012

3.1.0

3.1.0.0 http://marcelklehr.github.com/tivoka

The universal JSON-RPC client/server library. JSON-RPC done right!

  Sources   Download

MIT

The Requires

  • php >=5.3

 

by Marcel Klehr

api json json-rpc xml-rpc rpc

16/07 2012

3.0.1

3.0.1.0 http://marcelklehr.github.com/tivoka

The universal JSON-RPC client/server library. JSON-RPC done right!

  Sources   Download

MIT

The Requires

  • php >=5.3

 

by Marcel Klehr

api json json-rpc xml-rpc rpc

18/06 2012

3.0.0

3.0.0.0 http://marcelklehr.github.com/tivoka

The universal JSON-RPC client/server library. JSON-RPC done right!

  Sources   Download

MIT

The Requires

  • php >=5.3

 

by Marcel Klehr

api json json-rpc xml-rpc rpc