Page MenuHomeDevCentral

PhabricatorGateController.php
No OneTemporary

PhabricatorGateController.php

<?php
namespace Nasqueron\Notifications\Http\Controllers\Gate;
use Nasqueron\Notifications\Events\PhabricatorPayloadEvent;
use Symfony\Component\HttpFoundation\Response;
use Event;
use Request;
class PhabricatorGateController extends GateController {
///
/// Private members
///
/**
* The request content, as a structured data
*
* @var array
*/
private $payload;
///
/// Constants
///
/**
* The name of the service this gate accepts payload from.
*/
const SERVICE_NAME = 'Phabricator';
///
/// Requests processing
///
/**
* Handles POST requests
*
* @param Request $request the HTTP request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function onPost ($door) : Response {
$this->door = $door;
if (!$this->doesServiceExist()) {
abort(404, 'Unknown Phabricator instance.');
}
$this->extractPayload();
$this->logRequest();
$this->onPayload();
return parent::renderReport();
}
/**
* Extracts payload from the request
*/
protected function extractPayload () {
$this->payload = Request::all();
}
///
/// Payload processing
///
protected function onPayload () {
$this->initializeReport();
Event::fire(new PhabricatorPayloadEvent(
$this->door,
$this->payload
));
}
}

File Metadata

Mime Type
text/x-php
Expires
Mon, Jun 8, 09:05 (1 d, 16 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3769522
Default Alt Text
PhabricatorGateController.php (1 KB)

Event Timeline