fix(Docs): Improve await error handling on external content sources. (#43960)

This commit is contained in:
Jeremias Menichelli authored and GitHub committed 2026-03-19 11:12:26 +01:00
1 parent fe0da16820
commit b881a71ce7
5 files changed
+70 -17

No files matched your search

+14 -3
View File
@@ -83,9 +83,20 @@ const getContent = async ({ slug }: Params) => {
const editLink = newEditLink(`${org}/${repo}/blob/${branch}/${docsDir}/${remoteFile}`)
const response = await fetchRevalidatePerDay(
`https://raw.githubusercontent.com/${org}/${repo}/${branch}/${docsDir}/${remoteFile}`
)
let response: Response
try {
response = await fetchRevalidatePerDay(
`https://raw.githubusercontent.com/${org}/${repo}/${branch}/${docsDir}/${remoteFile}`
)
} catch (err) {
throw new Error(`Failed to fetch Python vecs docs from GitHub (network error): ${err}`)
}
if (!response.ok) {
throw new Error(
`Failed to fetch Python vecs docs from GitHub: ${response.status} ${response.statusText}`
)
}
let content = await response.text()
content = removeRedundantH1(content)
@@ -82,9 +82,20 @@ const getContent = async ({ slug }: Params) => {
const editLink = newEditLink(`${org}/${repo}/blob/${branch}/${docsDir}/${remoteFile}`)
const response = await fetchRevalidatePerDay(
`https://raw.githubusercontent.com/${org}/${repo}/${branch}/${docsDir}/${remoteFile}`
)
let response: Response
try {
response = await fetchRevalidatePerDay(
`https://raw.githubusercontent.com/${org}/${repo}/${branch}/${docsDir}/${remoteFile}`
)
} catch (err) {
throw new Error(`Failed to fetch CI docs from GitHub (network error): ${err}`)
}
if (!response.ok) {
throw new Error(
`Failed to fetch CI docs from GitHub: ${response.status} ${response.statusText}`
)
}
const content = removeRedundantH1(await response.text())
@@ -115,9 +115,20 @@ const getContent = async ({ slug }: Params) => {
`${terraformDocsOrg}/${terraformDocsRepo}/blob/${terraformDocsBranch}/${useRoot ? '' : `${terraformDocsDocsDir}/`}${remoteFile}`
)
let response = await fetchRevalidatePerDay(
`https://raw.githubusercontent.com/${terraformDocsOrg}/${terraformDocsRepo}/${terraformDocsBranch}/${useRoot ? '' : `${terraformDocsDocsDir}/`}${remoteFile}`
)
let response: Response
try {
response = await fetchRevalidatePerDay(
`https://raw.githubusercontent.com/${terraformDocsOrg}/${terraformDocsRepo}/${terraformDocsBranch}/${useRoot ? '' : `${terraformDocsDocsDir}/`}${remoteFile}`
)
} catch (err) {
throw new Error(`Failed to fetch Terraform docs from GitHub (network error): ${err}`)
}
if (!response.ok) {
throw new Error(
`Failed to fetch Terraform docs from GitHub: ${response.status} ${response.statusText}`
)
}
let rawContent = await response.text()
// Strip out HTML comments
@@ -394,10 +394,19 @@ const TerraformReferencePage = async () => {
* Fetch JSON schema from external repo
*/
const getSchema = async () => {
let response = await fetchRevalidatePerDay(
`https://raw.githubusercontent.com/${terraformDocsOrg}/${terraformDocsRepo}/${terraformDocsBranch}/${terraformDocsDocsDir}/schema.json`
)
if (!response.ok) throw Error('Failed to fetch Terraform JSON schema from GitHub')
let response: Response
try {
response = await fetchRevalidatePerDay(
`https://raw.githubusercontent.com/${terraformDocsOrg}/${terraformDocsRepo}/${terraformDocsBranch}/${terraformDocsDocsDir}/schema.json`
)
} catch (err) {
throw new Error(`Failed to fetch Terraform JSON schema from GitHub (network error): ${err}`)
}
if (!response.ok)
throw Error(
`Failed to fetch Terraform JSON schema from GitHub: ${response.status} ${response.statusText}`
)
const schema = await response.json()
@@ -136,10 +136,21 @@ const getContent = async ({ slug }: Params) => {
const editLink = newEditLink(`${org}/${repo}/blob/${branch}/${docsDir}/${remoteFile}`)
const response = await fetch(
`https://raw.githubusercontent.com/${org}/${repo}/${branch}/${docsDir}/${remoteFile}`,
{ cache: 'force-cache', next: { tags: [REVALIDATION_TAGS.GRAPHQL] } }
)
let response: Response
try {
response = await fetch(
`https://raw.githubusercontent.com/${org}/${repo}/${branch}/${docsDir}/${remoteFile}`,
{ cache: 'force-cache', next: { tags: [REVALIDATION_TAGS.GRAPHQL] } }
)
} catch (err) {
throw new Error(`Failed to fetch GraphQL docs from GitHub (network error): ${err}`)
}
if (!response.ok) {
throw new Error(
`Failed to fetch GraphQL docs from GitHub: ${response.status} ${response.statusText}`
)
}
const content = await response.text()