19 private $typeProcessor;
36 $this->typeProcessor = $typeProcessor;
37 $this->methodsMap = $methodsMap;
49 }
catch (\Exception $e) {
50 throw new \LogicException(
52 'Response schema definition for topic "%s" should reference existing type or service class. ' 70 }
catch (\Exception $e) {
71 throw new \LogicException(
73 'Request schema definition for topic "%s" should reference existing service class. ' 92 $this->methodsMap->getMethodParams($serviceName, $methodName);
93 }
catch (\Exception $e) {
94 throw new \LogicException(
96 'Service method specified in the definition of handler "%s" for topic "%s"' 97 .
' is not available. Given "%s"',
100 $serviceName .
'::' . $methodName
115 if ($this->typeProcessor->isTypeSimple($typeName)) {
118 if ($this->typeProcessor->isArrayType($typeName)) {
119 $arrayItemType = $this->typeProcessor->getArrayItemType($typeName);
120 $this->methodsMap->getMethodsMap($arrayItemType);
122 $this->methodsMap->getMethodsMap($typeName);
__construct(TypeProcessor $typeProcessor, MethodsMap $methodsMap)
validateRequestSchemaType($requestSchema, $topicName)
validateResponseSchemaType($responseSchema, $topicName)
validateResponseHandlersType($serviceName, $methodName, $handlerName, $topicName)