Fix crash when unable to request an update

This commit is contained in:
Asher 2020-03-25 15:00:35 -05:00
parent 27320465b7
commit 0a5687bacf
No known key found for this signature in database
GPG Key ID: D63C1EF81242354A
2 changed files with 21 additions and 1 deletions

View File

@ -341,7 +341,7 @@ export class UpdateHttpProvider extends HttpProvider {
const request = (uri: string): void => {
logger.debug("Making request", field("uri", uri))
const httpx = uri.startsWith("https") ? https : http
httpx.get(uri, { headers: { "User-Agent": "code-server" } }, (response) => {
const client = httpx.get(uri, { headers: { "User-Agent": "code-server" } }, (response) => {
if (
response.statusCode &&
response.statusCode >= 300 &&
@ -362,6 +362,7 @@ export class UpdateHttpProvider extends HttpProvider {
resolve(response)
})
client.on("error", reject)
}
request(uri)
})

View File

@ -222,4 +222,23 @@ describe("update", () => {
const archiveName = await p.getReleaseName(update)
assert.deepEqual(spy, ["/latest", `/download/${version}/${archiveName}`, `/download/${version}/${archiveName}`])
})
it("should not reject if unable to fetch", async () => {
const options = {
auth: AuthType.None,
base: "/update",
commit: "test",
}
let provider = new UpdateHttpProvider(options, true, "invalid", "invalid", settings)
await assert.doesNotReject(() => provider.getUpdate(true))
provider = new UpdateHttpProvider(
options,
true,
"http://probably.invalid.dev.localhost/latest",
"http://probably.invalid.dev.localhost/download",
settings,
)
await assert.doesNotReject(() => provider.getUpdate(true))
})
})