X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=app%2FGithub%2FAPI%2FReleases%2FListReleaseAssets.php;fp=app%2FGithub%2FAPI%2FReleases%2FListReleaseAssets.php;h=b365183cd77935d8e8319796916a5e08389ed7d6;hb=07b87ac26f62bc3c069bb16983fe7500272e19b4;hp=0000000000000000000000000000000000000000;hpb=ff1d11c17adb6453aa50dfd6169317e077240eef;p=pharext%2Fpharext.org diff --git a/app/Github/API/Releases/ListReleaseAssets.php b/app/Github/API/Releases/ListReleaseAssets.php new file mode 100644 index 0000000..b365183 --- /dev/null +++ b/app/Github/API/Releases/ListReleaseAssets.php @@ -0,0 +1,23 @@ +url->mod(uri_template("./repos/{+repo}/releases{/release}/assets", $this->args)); + $request = new \http\Client\Request("GET", $url, [ + "Authorization" => "token ". $this->api->getToken(), + "Accept" => $this->config->api->accept, + ]); + $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); + } + $links = new Links($response->getHeader("Link")); + $this->saveToCache([$json, $links]); + $callback($json, $links); + return true; + }); + } +}