type Cloudflare = {
token: string;
email: string;
key: string;
};
/**
* Get Domains Rank details
* Gets Domains Rank details.
Cloudflare provides an ordered rank for the top 100 domains, but for the remainder it only provides ranking buckets
like top 200 thousand, top one million, etc.. These are available through Radar datasets endpoints.
*/
export async function main(
auth: Cloudflare,
domain: string,
limit: string | undefined,
rankingType: "POPULAR" | "TRENDING_RISE" | "TRENDING_STEADY" | undefined,
name: string | undefined,
date: string | undefined,
format: "JSON" | "CSV" | undefined
) {
const url = new URL(
`https://api.cloudflare.com/client/v4/radar/ranking/domain/${domain}`
);
for (const [k, v] of [
["limit", limit],
["rankingType", rankingType],
["name", name],
["date", date],
["format", format],
]) {
if (v !== undefined && v !== "") {
url.searchParams.append(k, v);
}
}
const response = await fetch(url, {
method: "GET",
headers: {
"X-AUTH-EMAIL": auth.email,
"X-AUTH-KEY": auth.key,
Authorization: "Bearer " + auth.token,
},
body: undefined,
});
if (!response.ok) {
const text = await response.text();
throw new Error(`${response.status} ${text}`);
}
return await response.json();
}
Submitted by hugo697 383 days ago
type Cloudflare = {
token: string;
email: string;
key: string;
};
/**
* Get Domains Rank details
* Gets Domains Rank details.
Cloudflare provides an ordered rank for the top 100 domains, but for the remainder it only provides ranking buckets
like top 200 thousand, top one million, etc.. These are available through Radar datasets endpoints.
*/
export async function main(
auth: Cloudflare,
domain: string,
limit: string | undefined,
rankingType: "POPULAR" | "TRENDING_RISE" | "TRENDING_STEADY" | undefined,
name: string | undefined,
date: string | undefined,
format: "JSON" | "CSV" | undefined
) {
const url = new URL(
`https://api.cloudflare.com/client/v4/radar/ranking/domain/${domain}`
);
for (const [k, v] of [
["limit", limit],
["rankingType", rankingType],
["name", name],
["date", date],
["format", format],
]) {
if (v !== undefined && v !== "") {
url.searchParams.append(k, v);
}
}
const response = await fetch(url, {
method: "GET",
headers: {
"X-AUTH-EMAIL": auth.email,
"X-AUTH-KEY": auth.key,
Authorization: "Bearer " + auth.token,
},
body: undefined,
});
if (!response.ok) {
const text = await response.text();
throw new Error(`${response.status} ${text}`);
}
return await response.json();
}
Submitted by hugo697 920 days ago