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) {