function outputFilter($data, $context) { $request = new \stdClass(); if ($this->version === "1.1") { $request->version = "1.1"; } else { if ($this->version === "2.0") { $request->jsonrpc = "2.0"; } } $stream = new \Hprose\BytesIO($data); $reader = new \Hprose\Reader($stream); $tag = $stream->getc(); if ($tag === \Hprose\Tags::TagCall) { $request->method = $reader->readString(); $tag = $stream->getc(); if ($tag == \Hprose\Tags::TagList) { $reader->reset(); $request->params = $reader->readListWithoutTag(); } } else { throw new \Exception("Error Processing Request", 1); } unset($reader); unset($stream); $request->id = self::$id++; return json_encode($request); }
function outputFilter($data, $context) { $method = null; $params = array(); $stream = new \Hprose\BytesIO($data); $reader = new \Hprose\Reader($stream); $tag = $stream->getc(); if ($tag === \Hprose\Tags::TagCall) { $method = $reader->readString(); $tag = $stream->getc(); if ($tag == \Hprose\Tags::TagList) { $reader->reset(); $params = $reader->readListWithoutTag(); } } else { throw new \Exception("Error Processing Request", 1); } unset($reader); unset($stream); return xmlrpc_encode_request($method, $params); }