in src/utilities/fileUtils.ts [137:180]
export async function writeYamlFromURLToFile(
url: string,
fileNumber: number
): Promise<string> {
return new Promise((resolve, reject) => {
https
.get(url, async (response) => {
const code = response.statusCode ?? 0
if (code >= 400) {
reject(
Error(
`received response status ${response.statusMessage} from url ${url}`
)
)
}
const targetPath = getNewTempManifestFileName(
urlFileKind,
fileNumber.toString()
)
// save the file to disk
const fileWriter = fs
.createWriteStream(targetPath)
.on('finish', () => {
const verification = verifyYaml(targetPath, url)
if (succeeded(verification)) {
core.debug(
`outputting YAML contents from ${url} to ${targetPath}: ${JSON.stringify(
verification.result
)}`
)
resolve(targetPath)
} else {
reject(verification.error)
}
})
response.pipe(fileWriter)
})
.on('error', (error) => {
reject(error)
})
})
}