RpcServerController::indexAction()   B
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 27
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 14
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 27
ccs 14
cts 14
cp 1
rs 8.8571
c 0
b 0
f 0
cc 2
eloc 14
nc 2
nop 0
crap 2
1
<?php
2
3
namespace RabbitMqModule\Controller;
4
5
use Zend\Console\ColorInterface;
6
7
/**
8
 * Class RpcServerController
9
 *
10
 * @package RabbitMqModule\Controller
11
 */
12
class RpcServerController extends AbstractConsoleController
13
{
14
    /**
15
     * Default action if none provided
16
     *
17
     * @return \Zend\Console\Response
18
     */
19 2
    public function indexAction()
20
    {
21
        /** @var \Zend\Console\Request $request */
22 2
        $request = $this->getRequest();
23
        /** @var \Zend\Console\Response $response */
24 2
        $response = $this->getResponse();
25
26 2
        $this->getConsole()->writeLine(sprintf('Starting rpc server %s', $request->getParam('name')));
27
28 2
        $serviceName = sprintf('rabbitmq_module.rpc_server.%s', $request->getParam('name'));
29
30 2
        if (!$this->container->has($serviceName)) {
31 1
            $this->getConsole()->writeLine(
32 1
                sprintf('No rpc server with name "%s" found', $request->getParam('name')),
33
                ColorInterface::RED
34 1
            );
35 1
            $response->setErrorLevel(1);
36
37 1
            return $response;
38
        }
39
40
        /** @var \RabbitMqModule\RpcServer $consumer */
41 1
        $consumer = $this->container->get($serviceName);
42 1
        $consumer->consume();
43
44 1
        return $response;
45
    }
46
}
47