mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-04-28 04:13:18 +01:00
Use human-readable names for websockets
This commit is contained in:
@@ -67,6 +67,7 @@ export class CDSSocketManager {
|
||||
const url = `${this.options.url}/discovery/${publicKeyHex}/${codeHashHex}`;
|
||||
|
||||
return connectWebSocket<CDSSocket>({
|
||||
name: 'CDSSocket',
|
||||
url,
|
||||
version,
|
||||
proxyAgent: this.proxyAgent,
|
||||
|
||||
@@ -129,6 +129,7 @@ export class SocketManager extends EventListener {
|
||||
this.setStatus(SocketStatus.CONNECTING);
|
||||
|
||||
const process = this.connectResource({
|
||||
name: 'authenticated',
|
||||
path: '/v1/websocket/',
|
||||
query: { login: username, password },
|
||||
resourceOptions: {
|
||||
@@ -253,6 +254,7 @@ export class SocketManager extends EventListener {
|
||||
handler: IRequestHandler
|
||||
): Promise<WebSocketResource> {
|
||||
return this.connectResource({
|
||||
name: 'provisioning',
|
||||
path: '/v1/websocket/provisioning/',
|
||||
resourceOptions: {
|
||||
handleRequest: (req: IncomingWebSocketRequest): void => {
|
||||
@@ -426,6 +428,7 @@ export class SocketManager extends EventListener {
|
||||
log.info('SocketManager: connecting unauthenticated socket');
|
||||
|
||||
const process = this.connectResource({
|
||||
name: 'unauthenticated',
|
||||
path: '/v1/websocket/',
|
||||
resourceOptions: {
|
||||
keepalive: { path: '/v1/keepalive' },
|
||||
@@ -464,10 +467,12 @@ export class SocketManager extends EventListener {
|
||||
}
|
||||
|
||||
private connectResource({
|
||||
name,
|
||||
path,
|
||||
resourceOptions,
|
||||
query = {},
|
||||
}: {
|
||||
name: string;
|
||||
path: string;
|
||||
resourceOptions: WebSocketResourceOptions;
|
||||
query?: Record<string, string>;
|
||||
@@ -481,6 +486,7 @@ export class SocketManager extends EventListener {
|
||||
const url = `${this.options.url}${path}?${qs.encode(queryWithDefaults)}`;
|
||||
|
||||
return connectWebSocket({
|
||||
name,
|
||||
url,
|
||||
certificateAuthority: this.options.certificateAuthority,
|
||||
version: this.options.version,
|
||||
|
||||
@@ -22,6 +22,7 @@ export type IResource = {
|
||||
};
|
||||
|
||||
export type ConnectOptionsType<Resource extends IResource> = Readonly<{
|
||||
name: string;
|
||||
url: string;
|
||||
certificateAuthority: string;
|
||||
version: string;
|
||||
@@ -32,6 +33,7 @@ export type ConnectOptionsType<Resource extends IResource> = Readonly<{
|
||||
}>;
|
||||
|
||||
export function connect<Resource extends IResource>({
|
||||
name,
|
||||
url,
|
||||
certificateAuthority,
|
||||
version,
|
||||
@@ -109,14 +111,14 @@ export function connect<Resource extends IResource>({
|
||||
});
|
||||
|
||||
return new AbortableProcess<Resource>(
|
||||
`WebSocket.connect(${url})`,
|
||||
`WebSocket.connect(${name})`,
|
||||
{
|
||||
abort() {
|
||||
if (resource) {
|
||||
log.warn(`WebSocket: closing socket ${url}`);
|
||||
log.warn(`WebSocket: closing socket ${name}`);
|
||||
resource.close(3000, 'aborted');
|
||||
} else {
|
||||
log.warn(`WebSocket: aborting connection ${url}`);
|
||||
log.warn(`WebSocket: aborting connection ${name}`);
|
||||
Timers.clearTimeout(timer);
|
||||
client.abort();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user