0

Get a snippet's raw file at HEAD

by
Published Oct 24, 2023

Convenience resource for getting to a snippet's raw files without the need for first having to retrieve the snippet itself and having to pull out the versioned file links.

Script bitbucket Verified

The script

Submitted by hugo697 Typescript (fetch-only)
Verified 398 days ago
1
type Bitbucket = {
2
  username: string;
3
  password: string;
4
};
5
/**
6
 * Get a snippet's raw file at HEAD
7
 * Convenience resource for getting to a snippet's raw files without the
8
need for first having to retrieve the snippet itself and having to pull
9
out the versioned file links.
10
 */
11
export async function main(
12
  auth: Bitbucket,
13
  encoded_id: string,
14
  path: string,
15
  workspace: string
16
) {
17
  const url = new URL(
18
    `https://api.bitbucket.org/2.0/snippets/${workspace}/${encoded_id}/files/${path}`
19
  );
20

21
  const response = await fetch(url, {
22
    method: "GET",
23
    headers: {
24
      Authorization: "Basic " + btoa(`${auth.username}:${auth.password}`),
25
    },
26
    body: undefined,
27
  });
28
  if (!response.ok) {
29
    const text = await response.text();
30
    throw new Error(`${response.status} ${text}`);
31
  }
32
  return await response.text();
33
}
34