未验证 提交 0a5687ba 编写于 作者: A Asher

Fix crash when unable to request an update

上级 27320465
......@@ -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)
})
......
......@@ -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))
})
})
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册