Esempio n. 1
0
 /**
  * @param mixed[] $headers
  * @param string  $body
  */
 public function handle(array $headers, $body)
 {
     if (!$this->firewall->authorize($headers, $body)) {
         throw new BadRequestHttpException('The request signature is not valid.');
     }
     if (!is_array($payload = json_decode($body, true))) {
         throw new BadRequestHttpException('The request json body cannot be decoded.');
     }
     $this->eventDispatcher->dispatch(WebhookEvents::HOOK, $event = new WebhookEvent($payload));
     foreach ($event->getProcesses() as $process) {
         $this->processProducer->publish($process);
     }
 }
Esempio n. 2
0
 public function testAddProcess()
 {
     $this->event->addProcess($process = $this->createProcessMock());
     $this->assertSame([$process], $this->event->getProcesses());
 }
Esempio n. 3
0
 /**
  * @param WebhookEvent $event
  *
  * @return bool
  */
 private function supports(WebhookEvent $event)
 {
     $payload = $event->getPayload();
     return isset($payload['repository']) && isset($payload['repository']['full_name']) && isset($payload['ref']) && $payload['repository']['full_name'] === 'php-lug/lug' && $payload['ref'] === 'refs/heads/master';
 }