/** * @throws RemoteProcedureException */ protected function callback() { $procedure = $this->currentRequest->getPayload()->getProcedure(); $params = $this->currentRequest->getPayload()->getParams(); if (!is_callable([self::$proceduresClass, $procedure])) { throw RemoteProcedureException::procedureNotFound($procedure); } try { $executionResult = call_user_func_array([self::$proceduresClass, $procedure], $params); $payload = RpcResponsePayload::create($executionResult); $this->currentResponse->setPayload($payload); } catch (\Exception $e) { throw RpcExecutionException::executionError($e->getMessage()); } }
public function test_getPayload_returnsPayloadInterface() { $message = new RpcRequestMessage('', [MessageInterface::PROPERTY_CONTENT_TYPE => MessageInterface::CONTENT_TYPE_PLAIN_TEXT]); $payload = $message->getPayload(); $this->assertTrue($payload instanceof PayloadInterface); }