1. ホーム
  2. github

[解決済み] codeload.github.comはapi.github.comとどう違うのですか?

2022-02-04 18:47:11

質問

を閲覧していました。 next.js のリポジトリを見て、GitHubからtarでテンプレートをダウンロードし、抽出するこの機能に気づきました。

export async function downloadAndExtractExample(
  root: string,
  name: string
): Promise<void> {
  return await promisePipe(
    got.stream('https://codeload.github.com/zeit/next.js/tar.gz/canary'),
    tar.extract({ cwd: root, strip: 3 }, [`next.js-canary/examples/${name}`])
  )
}

StackOverflowで検索したら、これしか見つかりませんでした。

GitHub から tar.gz を引き出す方法を説明したスレッドですが、"codeload" サブドメインについては言及されていません。api"とどう違うのでしょうか?

どのように解決するのですか?

GitHub API は、アーカイブをダウンロードするための URL を取得するのに最適な方法を提供します。 その URL に対して GET リクエストを送ると、その URL は codeload.github.com codeloadはダウンロード用のアーカイブを提供するサービスで、キャッシュの理由から独自ドメインになっています。

codeloadのURLを直接使用することも可能ですが、一般的にはAPI URLを使用することをお勧めします。