in src/cloudConsole/cloudConsoleLauncher.ts [215:258]
async function resize(accessTokens: AccessTokens, terminalUri: string) {
const token = resizeToken = {};
await delay(300);
for (let i = 0; i < 10; i++) {
if (token !== resizeToken) {
return;
}
const { cols, rows } = getWindowSize();
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
const response = await request({
uri: `${terminalUri}/size?cols=${cols}&rows=${rows}`,
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': `Bearer ${accessTokens.resource}`
},
simple: false,
resolveWithFullResponse: true,
json: true,
});
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
if (response.statusCode < 200 || response.statusCode > 299) {
if (response.statusCode !== 503 && response.statusCode !== 504 && response.body && response.body.error) {
if (response.body && response.body.error && response.body.error.message) {
console.log(`${response.body.error.message} (${response.statusCode})`);
} else {
console.log(response.statusCode, response.headers, response.body);
}
break;
}
await delay(1000 * (i + 1));
continue;
}
/* eslint-enable @typescript-eslint/no-unsafe-member-access */
return;
}
console.log('Failed to resize terminal.');
}