X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=app%2FGithub%2FAPI%2FHooks%2FUpdateHook.php;h=f03010770be115da3358b1d8e6ce0212b9ece5a7;hb=ee3977104c9ea0984c76f75f965c528bc4b3b64e;hp=a891b13351c1d2382be41e720c6da99df2bff134;hpb=d4a4eae6b299ec3c066a4b8b68e048ddf69e0268;p=pharext%2Fpharext.org diff --git a/app/Github/API/Hooks/UpdateHook.php b/app/Github/API/Hooks/UpdateHook.php index a891b13..f030107 100644 --- a/app/Github/API/Hooks/UpdateHook.php +++ b/app/Github/API/Hooks/UpdateHook.php @@ -2,11 +2,16 @@ namespace app\Github\API\Hooks; -class UpdateHook extends \app\Github\API\Call +use app\Github\API\Call; +use app\Github\Exception\RequestException; +use http\Client\Request; +use http\Client\Response; + +class UpdateHook extends Call { - function enqueue(callable $callback) { + function request() { $url = $this->url->mod(uri_template("./repos/{+repo}/hooks{/id}", $this->args)); - $request = new \http\Client\Request("PATCH", $url, [ + $request = new Request("PATCH", $url, [ "Authorization" => "token ". $this->api->getToken(), "Accept" => $this->config->api->accept, "Content-Type" => "application/json", @@ -20,8 +25,8 @@ class UpdateHook extends \app\Github\API\Call $events[] = "release"; } $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, @@ -29,13 +34,13 @@ class UpdateHook extends \app\Github\API\Call ]; $request->getBody()->append(json_encode(compact("events", "config"))); - $this->api->getClient()->enqueue($request, function($response) use($callback) { - if ($response->getResponseCode() >= 400 || null === ($json = json_decode($response->getBody()))) { - throw new \app\Github\Exception\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]; } }