Reconnection when signal server is not active and minor changes
This commit is contained in:
@@ -4,6 +4,10 @@ function buildOrigin(protocol: string, host: string): string {
|
||||
return `${protocol}://${host}`.replace(/\/+$/, '');
|
||||
}
|
||||
|
||||
function originFromUrl(url: URL): string {
|
||||
return buildOrigin(url.protocol.replace(':', ''), url.host);
|
||||
}
|
||||
|
||||
export function getRequestOrigin(request: Request): string {
|
||||
const forwardedProtoHeader = request.get('x-forwarded-proto');
|
||||
const forwardedHostHeader = request.get('x-forwarded-host');
|
||||
@@ -15,18 +19,24 @@ export function getRequestOrigin(request: Request): string {
|
||||
|
||||
export function deriveWebAppOrigin(signalOrigin: string): string {
|
||||
const url = new URL(signalOrigin);
|
||||
const host = url.host;
|
||||
|
||||
if (host === 'signal.toju.app') {
|
||||
if (url.hostname === 'signal.toju.app' && !url.port) {
|
||||
return 'https://web.toju.app';
|
||||
}
|
||||
|
||||
if (host.startsWith('signal.')) {
|
||||
return buildOrigin(url.protocol.replace(':', ''), host.replace(/^signal\./, 'web.'));
|
||||
if (url.hostname.startsWith('signal.')) {
|
||||
url.hostname = url.hostname.replace(/^signal\./, 'web.');
|
||||
|
||||
if (url.port === '3001') {
|
||||
url.port = '4200';
|
||||
}
|
||||
|
||||
return originFromUrl(url);
|
||||
}
|
||||
|
||||
if (['localhost:3001', '127.0.0.1:3001'].includes(host)) {
|
||||
return buildOrigin(url.protocol.replace(':', ''), host.replace(/:3001$/, ':4200'));
|
||||
if (url.port === '3001') {
|
||||
url.port = '4200';
|
||||
return originFromUrl(url);
|
||||
}
|
||||
|
||||
return 'https://web.toju.app';
|
||||
|
||||
Reference in New Issue
Block a user