//native
/**
* List URL lists
* List the tenant's URL lists (id, name, data.urls, data.type, pending flag), one page at a time. Pass next_offset back as offset to fetch the next page.
*/
export async function main(
auth: RT.Netskope,
limit: number | undefined,
offset: number | undefined,
field: string | undefined
) {
const pageSize = limit || 100
const skip = offset || 0
const url = new URL(
`${auth.tenant_url.replace(/\/+$/, "")}/api/v2/policy/urllist`
)
url.searchParams.append("limit", pageSize.toString())
url.searchParams.append("offset", skip.toString())
if (field != null && field !== "") {
url.searchParams.append("field", field)
}
const response = await fetch(url, {
method: "GET",
headers: {
"Netskope-Api-Token": auth.token,
Accept: "application/json",
},
})
if (!response.ok) {
throw new Error(`${response.status} ${await response.text()}`)
}
const url_lists = await response.json()
return {
url_lists,
next_offset:
Array.isArray(url_lists) && url_lists.length === pageSize
? skip + pageSize
: null,
}
}
Submitted by hugo989 7 hours ago