fix: LS ConnectRPC use HTTPS when detected, not port heuristic
This commit is contained in:
Binary file not shown.
@@ -122,6 +122,7 @@ function activate(context) {
|
||||
let lsPort = null;
|
||||
let lsCsrf = '';
|
||||
let lsPid = null;
|
||||
let lsUseTls = false; // track detected protocol
|
||||
let lastStepIndex = {}; // cascadeId → last known step index
|
||||
async function discoverLS() {
|
||||
return new Promise((resolve) => {
|
||||
@@ -210,8 +211,15 @@ function activate(context) {
|
||||
let data = '';
|
||||
res.on('data', (chunk) => { data += chunk; });
|
||||
res.on('end', () => {
|
||||
// Any response (even error) means ConnectRPC is here
|
||||
console.log(`Gravity Bridge: [LS] port ${port} (${useTls ? 'https' : 'http'}) status=${res.statusCode} body=${data.substring(0, 200)}`);
|
||||
// If HTTP got "HTTPS server" response, retry with HTTPS
|
||||
if (!useTls && data.includes('HTTPS server')) {
|
||||
tryProto(https, true);
|
||||
return;
|
||||
}
|
||||
if (res.statusCode !== 404) {
|
||||
lsUseTls = useTls; // remember which protocol worked
|
||||
}
|
||||
resolve(res.statusCode !== 404);
|
||||
});
|
||||
});
|
||||
@@ -238,7 +246,7 @@ function activate(context) {
|
||||
return new Promise((resolve) => {
|
||||
const http = require('http');
|
||||
const https = require('https');
|
||||
const proto = lsPort > 40000 ? https : http; // heuristic
|
||||
const proto = lsUseTls ? https : http; // use detected protocol
|
||||
const body = JSON.stringify(payload);
|
||||
const req = proto.request({
|
||||
hostname: '127.0.0.1',
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -101,6 +101,7 @@ export function activate(context: vscode.ExtensionContext) {
|
||||
let lsPort: number | null = null;
|
||||
let lsCsrf: string = '';
|
||||
let lsPid: number | null = null;
|
||||
let lsUseTls: boolean = false; // track detected protocol
|
||||
let lastStepIndex: Record<string, number> = {}; // cascadeId → last known step index
|
||||
|
||||
async function discoverLS(): Promise<boolean> {
|
||||
@@ -198,8 +199,15 @@ export function activate(context: vscode.ExtensionContext) {
|
||||
let data = '';
|
||||
res.on('data', (chunk: any) => { data += chunk; });
|
||||
res.on('end', () => {
|
||||
// Any response (even error) means ConnectRPC is here
|
||||
console.log(`Gravity Bridge: [LS] port ${port} (${useTls ? 'https' : 'http'}) status=${res.statusCode} body=${data.substring(0, 200)}`);
|
||||
// If HTTP got "HTTPS server" response, retry with HTTPS
|
||||
if (!useTls && data.includes('HTTPS server')) {
|
||||
tryProto(https, true);
|
||||
return;
|
||||
}
|
||||
if (res.statusCode !== 404) {
|
||||
lsUseTls = useTls; // remember which protocol worked
|
||||
}
|
||||
resolve(res.statusCode !== 404);
|
||||
});
|
||||
});
|
||||
@@ -224,7 +232,7 @@ export function activate(context: vscode.ExtensionContext) {
|
||||
return new Promise((resolve) => {
|
||||
const http = require('http');
|
||||
const https = require('https');
|
||||
const proto = lsPort! > 40000 ? https : http; // heuristic
|
||||
const proto = lsUseTls ? https : http; // use detected protocol
|
||||
const body = JSON.stringify(payload);
|
||||
const req = proto.request({
|
||||
hostname: '127.0.0.1',
|
||||
|
||||
Reference in New Issue
Block a user