X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=app%2FGithub%2FAPI%2FReleases%2FCreateRelease.php;h=c7b1a4a76982370092306757969215ab8e7bac18;hb=ee3977104c9ea0984c76f75f965c528bc4b3b64e;hp=21f849f6d6d298f656370c13bba94dd02c4a189f;hpb=07b87ac26f62bc3c069bb16983fe7500272e19b4;p=pharext%2Fpharext.org diff --git a/app/Github/API/Releases/CreateRelease.php b/app/Github/API/Releases/CreateRelease.php index 21f849f..c7b1a4a 100644 --- a/app/Github/API/Releases/CreateRelease.php +++ b/app/Github/API/Releases/CreateRelease.php @@ -5,10 +5,11 @@ namespace app\Github\API\Releases; use app\Github\API\Call; use app\Github\Exception\RequestException; use http\Client\Request; +use http\Client\Response; class CreateRelease extends Call { - function enqueue(callable $callback) { + function request() { $url = $this->url->mod("/repos/". $this->args["repo"] ."/releases"); $request = new Request("POST", $url, [ "Authorization" => "token ". $this->api->getToken(), @@ -16,14 +17,16 @@ class CreateRelease extends Call "Content-Type" => "application/json", ]); $request->getBody()->append(json_encode([ - "tag_name" => $this->args["tag"] + "tag_name" => $this->args["tag"], + "draft" => true, ])); - $this->api->getClient()->enqueue($request, function($response) use($callback) { - if ($response->getResponseCode() >= 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]; } }