Skip to content

Commit c45b66c

Browse files
authored
Merge pull request #1953 from murgatroid99/grpc-js_channelz_local_address_null
grpc-js: Handle undefined `socket.localAddress`
2 parents 4a5c1da + 8dbeeb1 commit c45b66c

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

packages/grpc-js/src/channelz.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ export interface TlsInfo {
286286
}
287287

288288
export interface SocketInfo {
289-
localAddress: SubchannelAddress;
289+
localAddress: SubchannelAddress | null;
290290
remoteAddress: SubchannelAddress | null;
291291
security: TlsInfo | null;
292292
remoteName: string | null;
@@ -631,7 +631,7 @@ function GetSocket(call: ServerUnaryCall<GetSocketRequest__Output, GetSocketResp
631631
} : null;
632632
const socketMessage: SocketMessage = {
633633
ref: socketRefToMessage(socketEntry.ref),
634-
local: subchannelAddressToAddressMessage(resolvedInfo.localAddress),
634+
local: resolvedInfo.localAddress ? subchannelAddressToAddressMessage(resolvedInfo.localAddress) : null,
635635
remote: resolvedInfo.remoteAddress ? subchannelAddressToAddressMessage(resolvedInfo.remoteAddress) : null,
636636
remote_name: resolvedInfo.remoteName ?? undefined,
637637
security: securityMessage,

packages/grpc-js/src/server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ export class Server {
176176
const sessionInfo = this.sessions.get(session)!;
177177
const sessionSocket = session.socket;
178178
const remoteAddress = sessionSocket.remoteAddress ? stringToSubchannelAddress(sessionSocket.remoteAddress, sessionSocket.remotePort) : null;
179-
const localAddress = stringToSubchannelAddress(sessionSocket.localAddress, sessionSocket.localPort);
179+
const localAddress = sessionSocket.localAddress ? stringToSubchannelAddress(sessionSocket.localAddress!, sessionSocket.localPort) : null;
180180
let tlsInfo: TlsInfo | null;
181181
if (session.encrypted) {
182182
const tlsSocket: TLSSocket = sessionSocket as TLSSocket;

packages/grpc-js/src/subchannel.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ export class Subchannel {
248248
}
249249
const sessionSocket = this.session.socket;
250250
const remoteAddress = sessionSocket.remoteAddress ? stringToSubchannelAddress(sessionSocket.remoteAddress, sessionSocket.remotePort) : null;
251-
const localAddress = stringToSubchannelAddress(sessionSocket.localAddress, sessionSocket.localPort);
251+
const localAddress = sessionSocket.localAddress ? stringToSubchannelAddress(sessionSocket.localAddress, sessionSocket.localPort) : null;
252252
let tlsInfo: TlsInfo | null;
253253
if (this.session.encrypted) {
254254
const tlsSocket: TLSSocket = sessionSocket as TLSSocket;

0 commit comments

Comments
 (0)