<commit_before># Junior - A JSON-RPC Client/Server in PHP

## What is JSON-RPC?
From the [JSON-RPC Spec @ Google groups](http://groups.google.com/group/json-rpc/web/json-rpc-2-0):

JSON-RPC is a stateless, light-weight remote procedure call (RPC) protocol. Primarily this specification defines several data structures and the rules around their processing. 
It is transport agnostic in that the concepts can be used within the same process, over sockets, over http, or in many various message passing environments. It uses JSON (RFC 4627) 
as data format.
It is designed to be simple!

## Why should I use Junior?
Junior is JSON-RPC 2.0 viable and follows the JSON-RPC spec as of July 2011. It supports batching, named parameters, and notifications.

## Is Junior available via Pear?
Junior is hosted on Pearhub:

	$ pear channel-discover pearhub.org

	$ pear install pearhub/junior


## How do I use the client?
Include client.php in the base directory of Junior, which will include all necessary files. Create a new instance of Junior\Client\Client() and pass it the URI of the server 
you wish to communicate with. All communication through this instance. See the example folder for more details.

## How do I use the server?
Include the server.php in the base directory of Junior, which will include all necessary files. Create a new instance of Junior\Server\Server() and pass it an instance 
of the class you wish to expose for communication. Then call the process() function on your server instance and you are ready to go! See the example folder for more details. 

## What if I don't like PHP?
Try out [Jimson](https://github.com/chriskite/jimson), written by <NAME> for Ruby. It was made at the same time as Junior, and supports all the same features.

## What do I need to run Junior?
* PHP >= 5.3

## Does it have tests?
It sure does! As of v0.0.4 Junior will have a full test suite that uses PHPUnit and vfsStream.
<commit_msg>fix link to json rpc link in README<commit_after># Junior - A JSON-RPC Client/Server in PHP

## What is JSON-RPC?
From the [JSON-RPC Spec](http://www.jsonrpc.org/spec.html):

JSON-RPC is a stateless, light-weight remote procedure call (RPC) protocol. Primarily this specification defines several data structures and the rules around their processing. 
It is transport agnostic in that the concepts can be used within the same process, over sockets, over http, or in many various message passing environments. It uses JSON (RFC 4627) 
as data format.
It is designed to be simple!

## Why should I use Junior?
Junior is JSON-RPC 2.0 viable and follows the JSON-RPC spec as of July 2011. It supports batching, named parameters, and notifications.

## Is Junior available via Pear?
Junior is hosted on Pearhub:

	$ pear channel-discover pearhub.org

	$ pear install pearhub/junior


## How do I use the client?
Include client.php in the base directory of Junior, which will include all necessary files. Create a new instance of Junior\Client\Client() and pass it the URI of the server 
you wish to communicate with. All communication through this instance. See the example folder for more details.

## How do I use the server?
Include the server.php in the base directory of Junior, which will include all necessary files. Create a new instance of Junior\Server\Server() and pass it an instance 
of the class you wish to expose for communication. Then call the process() function on your server instance and you are ready to go! See the example folder for more details. 

## What if I don't like PHP?
Try out [Jimson](https://github.com/chriskite/jimson), written by <NAME> for Ruby. It was made at the same time as Junior, and supports all the same features.

## What do I need to run Junior?
* PHP >= 5.3

## Does it have tests?
It sure does! As of v0.0.4 Junior will have a full test suite that uses PHPUnit and vfsStream.

{'fraction_non_alphanumeric': 0.06395649922320042, 'fraction_numerical': 0.008285862247540134, 'mean_word_length': 4.049673202614379, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7402543', 'n_tokens_mistral': 1052, 'n_tokens_neox': 1009, 'n_words': 595}