public function handle(RpcRequestInterface $request) { if (!array_key_exists($request->getMethod(), $this->handlers)) { throw new InvalidMethodException(self::MESSAGE_METHOD_NOT_EXIST); } return $this->handlers[$request->getMethod()]->handle($request); }
/** * @param RpcRequestInterface $request * @param mixed $data * @return JsonRpcResponse */ public function createResponse(RpcRequestInterface $request, $data) { if ($data instanceof JsonRpcResponse) { return $data; } /** @var JsonRpcRequest $request */ $body = $this->serializer->serialize(['jsonrpc' => '2.0', 'result' => $data, 'id' => $request->getId()]); return new JsonRpcResponse($body, 200, []); }