public function inputFilter($data, stdClass $context) { $result = xmlrpc_decode($data, "UTF-8"); $stream = new BytesIO(); $writer = new Writer($stream, true); if (isset($result['faultString'])) { $stream->write(Tags::TagError); $writer->writeString($result['faultString']); } else { $stream->write(Tags::TagResult); $writer->serialize($result); } $stream->write(Tags::TagEnd); return $stream->toString(); }
public function inputFilter($data, stdClass $context) { $response = json_decode($data); if (!isset($response->result)) { $response->result = null; } if (!isset($response->error)) { $response->error = null; } $stream = new BytesIO(); $writer = new Writer($stream, true); if ($response->error) { $stream->write(Tags::TagError); $writer->writeString($response->error->message); } else { $stream->write(Tags::TagResult); $writer->serialize($response->result); } $stream->write(Tags::TagEnd); return $stream->toString(); }
function doOutput(array $args, stdClass $context, $result) { $mode = $context->mode; $simple = $context->simple; if ($simple === null) { $simple = $this->simple; } if ($mode === ResultMode::RawWithEndTag || $mode == ResultMode::Raw) { return $result; } $stream = new BytesIO(); $writer = new Writer($stream, $simple); $stream->write(Tags::TagResult); if ($mode === ResultMode::Serialized) { $stream->write($result); } else { $writer->reset(); $writer->serialize($result); } if ($context->byref) { $stream->write(Tags::TagArgument); $writer->reset(); $writer->writeArray($args); } $data = $stream->toString(); $stream->close(); return $data; }