Exemple #1
0
 public function testMessageToStringWorks()
 {
     $message = new Message();
     $message->setMetadata(array('Foo' => 'bar', 'One' => 'Two'));
     $message->setContent('This is my content');
     $expected = "Foo: bar\r\nOne: Two\r\n\r\nThis is my content";
     $this->assertEquals($expected, $message->toString());
 }
 /**
  * {@inheritdoc}
  */
 public function onDispatch(MvcEvent $e)
 {
     $this->registerDefaultProcessStrategy();
     //TEMP
     $routeMatch = $e->getRouteMatch();
     if ($routeMatch instanceof RouteMatch) {
         $message = $routeMatch->getParam('message', null);
         if ($message) {
             if (is_string($message)) {
                 $parameter = new Parameters();
                 $parameter->fromString($message);
                 $message = new Message();
                 $message->setContent($parameter->get('content'));
                 $message->setMetadata($parameter->get('metadata', []));
                 $routeMatch->setParam('message', $message);
             }
         } else {
             stream_set_blocking(STDIN, 0);
             $stdin = file_get_contents('php://stdin');
             $message = $this->getSerializer()->unserialize($stdin);
             $routeMatch->setParam('message', $message);
         }
         $cliPassthru = $routeMatch->getParam('cli-passthru', null);
         if ($cliPassthru) {
             $this->cliPassthru = sprintf('%s -f %s -- %s', PHP_BINARY, realpath($_SERVER['PHP_SELF']), $cliPassthru);
         }
     }
     return parent::onDispatch($e);
 }