JSONRPC 1.0.0-beta3

Markers

Table of Contents

Client.php 1
Encoder.php 3
Helper/Charset.php 1
Helper/Parser.php 8
Helper/Serializer.php 1
Request.php 3
Server.php 6

Client.php

Type Line Description
TODO 14 the JSON proposed RFC states that when making json calls, we should specify an 'accept: application/json' http header. Currently, we either do not output an 'accept' header or specify 'any' (in curl mode)

Encoder.php

Type Line Description
TODO 12 implement an interface
TODO 12 add class constants for the options values
TODO 26 add support for Request objects

Charset.php

Type Line Description
TODO 11 implement an Interface

Parser.php

Type Line Description
TODO 23 add support for __jsonclass__
TODO 23 add support for json-rpc 1.1 ? see: https://jsonrpc.org/historical/json-rpc-1-1-wd.html and https://jsonrpc.org/historical/json-rpc-1-1-alt.html
TODO 23 add a ParseValue method ?
TODO 23 add a Parse method (same as XMLParser) ?
TODO 23 add a constructor which can be used to set default options
TODO 63 checks missing: - no extra members in request
TODO 156 checks missing: - no extra members in response
TODO 428 should we return 'UTF-8' or '' by default?

Serializer.php

Type Line Description
TODO 13 implement a CharsetEncoderAware trait (as soon as there is a 2nd user of Charset)

Request.php

Type Line Description
TODO 153 move more of this parsing into the parent class (split method in smaller ones)
TODO 153 throw when $returnType == 'xmlrpcvals', 'epivals' or 'xml'
TODO 153 we should check that the received Id is the same s the one sent

Server.php

Type Line Description
TODO 19 implement dispatching of multicall requests, json way
TODO 19 test system.XXX methods, with special care to multicall
TODO 19 support 'notification' calls, i.e. if id is null, echo back nothing
TODO 19 should we override all parent's methods related to multicall which do not work for us?
TODO 55 allow to (optionally) send comments as top-level json element, since 99.99% of json parsers will barf on js comments...
TODO 365 if building json-rpc-only webservers, you should at least undeclare the xmlrpc capability: unset($outAr['xmlrpc']);

Search results