From dc94e708ac86913ddf157441074a39a55fb8e352 Mon Sep 17 00:00:00 2001 From: Rob Lourens Date: Mon, 20 Nov 2017 18:21:17 -0800 Subject: [PATCH] Respect timeout option in XHR-based requestService. Add timeout to remote preferences search --- src/vs/platform/request/electron-browser/requestService.ts | 4 ++++ .../parts/preferences/electron-browser/preferencesSearch.ts | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/vs/platform/request/electron-browser/requestService.ts b/src/vs/platform/request/electron-browser/requestService.ts index c3be33d65fb..da4457c08f1 100644 --- a/src/vs/platform/request/electron-browser/requestService.ts +++ b/src/vs/platform/request/electron-browser/requestService.ts @@ -62,6 +62,10 @@ export const xhrRequest: IRequestFunction = (options: IRequestOptions): TPromise }); }; + if (options.timeout) { + xhr.timeout = options.timeout; + } + xhr.send(options.data); return null; diff --git a/src/vs/workbench/parts/preferences/electron-browser/preferencesSearch.ts b/src/vs/workbench/parts/preferences/electron-browser/preferencesSearch.ts index 9a0c56e58d8..e850ea71925 100644 --- a/src/vs/workbench/parts/preferences/electron-browser/preferencesSearch.ts +++ b/src/vs/workbench/parts/preferences/electron-browser/preferencesSearch.ts @@ -188,7 +188,8 @@ class RemoteSearchProvider { 'User-Agent': 'request', 'Content-Type': 'application/json; charset=utf-8', 'api-key': endpoint.key - } + }, + timeout: 4000 }) .then(context => { if (context.res.statusCode >= 300) {