grpc-js: Handle undefined socket.localAddress

This commit is contained in:
Michael Lumish 2021-10-25 13:29:06 -07:00
parent 4a5c1da93b
commit 8dbeeb1d18
3 changed files with 4 additions and 4 deletions

View File

@ -286,7 +286,7 @@ export interface TlsInfo {
}
export interface SocketInfo {
localAddress: SubchannelAddress;
localAddress: SubchannelAddress | null;
remoteAddress: SubchannelAddress | null;
security: TlsInfo | null;
remoteName: string | null;
@ -631,7 +631,7 @@ function GetSocket(call: ServerUnaryCall<GetSocketRequest__Output, GetSocketResp
} : null;
const socketMessage: SocketMessage = {
ref: socketRefToMessage(socketEntry.ref),
local: subchannelAddressToAddressMessage(resolvedInfo.localAddress),
local: resolvedInfo.localAddress ? subchannelAddressToAddressMessage(resolvedInfo.localAddress) : null,
remote: resolvedInfo.remoteAddress ? subchannelAddressToAddressMessage(resolvedInfo.remoteAddress) : null,
remote_name: resolvedInfo.remoteName ?? undefined,
security: securityMessage,

View File

@ -176,7 +176,7 @@ export class Server {
const sessionInfo = this.sessions.get(session)!;
const sessionSocket = session.socket;
const remoteAddress = sessionSocket.remoteAddress ? stringToSubchannelAddress(sessionSocket.remoteAddress, sessionSocket.remotePort) : null;
const localAddress = stringToSubchannelAddress(sessionSocket.localAddress, sessionSocket.localPort);
const localAddress = sessionSocket.localAddress ? stringToSubchannelAddress(sessionSocket.localAddress!, sessionSocket.localPort) : null;
let tlsInfo: TlsInfo | null;
if (session.encrypted) {
const tlsSocket: TLSSocket = sessionSocket as TLSSocket;

View File

@ -248,7 +248,7 @@ export class Subchannel {
}
const sessionSocket = this.session.socket;
const remoteAddress = sessionSocket.remoteAddress ? stringToSubchannelAddress(sessionSocket.remoteAddress, sessionSocket.remotePort) : null;
const localAddress = stringToSubchannelAddress(sessionSocket.localAddress, sessionSocket.localPort);
const localAddress = sessionSocket.localAddress ? stringToSubchannelAddress(sessionSocket.localAddress, sessionSocket.localPort) : null;
let tlsInfo: TlsInfo | null;
if (this.session.encrypted) {
const tlsSocket: TLSSocket = sessionSocket as TLSSocket;