use app\Github\API\Call;
use app\Github\Exception\RequestException;
use http\Client\Request;
+use http\Client\Response;
class CreateHook extends Call
{
- function enqueue(callable $callback) {
- $url = $this->url->mod("./repos/". $this->args["repo"] ."/hooks");
+ function request() {
+ $url = $this->url->mod(":./repos/". $this->args["repo"] ."/hooks");
$request = new Request("POST", $url, [
"Authorization" => "token " . $this->api->getToken(),
"Accept" => $this->config->api->accept,
"name" => "web",
"events" => $events,
"config" => [
- "zend" => !empty($this->args["conf"]["zend"]),
- "pecl" => !empty($this->args["conf"]["pecl"]),
+ "zend" => (int)!empty($this->args["conf"]["zend"]),
+ "pecl" => (int)!empty($this->args["conf"]["pecl"]),
"url" => $this->config->hook->url,
"content_type" => $this->config->hook->content_type,
"insecure_ssl" => $this->config->hook->insecure_ssl,
]
]));
- $this->api->getClient()->enqueue($request, function($response) use($callback) {
- if ($response->getResponseCode() >= 400 || null === ($json = json_decode($response->getBody()))) {
- throw new RequestException($response);
- }
- $this->result = [$json];
- $callback($json);
- return true;
- });
+ return $request;
+ }
+
+ function response(Response $response) {
+ if ($response->getResponseCode() >= 400 || null === ($json = json_decode($response->getBody()))) {
+ throw new RequestException($response);
+ }
+ return [$json];
}
}