X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=app%2FGithub%2FAPI%2FHooks%2FCreateHook.php;h=1367b70eaef85cfbac32f899a426bc1840e8d1e0;hb=303950054385d4c55cfef9a8828ee79420b7366e;hp=325dca7fc32528a4e435724c4e7eea7a53bed0d4;hpb=07b87ac26f62bc3c069bb16983fe7500272e19b4;p=pharext%2Fpharext.org diff --git a/app/Github/API/Hooks/CreateHook.php b/app/Github/API/Hooks/CreateHook.php index 325dca7..1367b70 100644 --- a/app/Github/API/Hooks/CreateHook.php +++ b/app/Github/API/Hooks/CreateHook.php @@ -5,17 +5,19 @@ namespace app\Github\API\Hooks; 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, "Content-Type" => "application/json", ]); - + + $events = []; if (!empty($this->args["conf"]["tag"])) { $events[] = "create"; } @@ -27,6 +29,8 @@ class CreateHook extends Call "name" => "web", "events" => $events, "config" => [ + "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, @@ -34,12 +38,13 @@ class CreateHook extends Call ] ])); - $this->api->getClient()->enqueue($request, function($response) use($callback) { - if ($response->getReesponseCode() != 400 || null === ($json = json_decode($response->getBody()))) { - throw new RequestException($response); - } - $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]; } }