mirror of https://github.com/grpc/grpc-node.git
grpc-js: fix error messages truncating at commas
This commit is contained in:
parent
2df072de3f
commit
dd414b6ddc
|
@ -38,7 +38,7 @@ export class MetadataStatusFilter extends BaseFilter implements Filter {
|
||||||
metadata.remove('grpc-status');
|
metadata.remove('grpc-status');
|
||||||
}
|
}
|
||||||
if (typeof metadataMap['grpc-message'] === 'string') {
|
if (typeof metadataMap['grpc-message'] === 'string') {
|
||||||
details = decodeURI(metadataMap['grpc-message'] as string);
|
details = decodeURIComponent(metadataMap['grpc-message'] as string);
|
||||||
metadata.remove('grpc-message');
|
metadata.remove('grpc-message');
|
||||||
}
|
}
|
||||||
return { code, details, metadata };
|
return { code, details, metadata };
|
||||||
|
|
|
@ -484,7 +484,9 @@ export class Http2ServerCallStream<
|
||||||
const trailersToSend = Object.assign(
|
const trailersToSend = Object.assign(
|
||||||
{
|
{
|
||||||
[GRPC_STATUS_HEADER]: statusObj.code,
|
[GRPC_STATUS_HEADER]: statusObj.code,
|
||||||
[GRPC_MESSAGE_HEADER]: encodeURI(statusObj.details as string),
|
[GRPC_MESSAGE_HEADER]: encodeURIComponent(
|
||||||
|
statusObj.details as string
|
||||||
|
),
|
||||||
},
|
},
|
||||||
statusObj.metadata.toHttp2Headers()
|
statusObj.metadata.toHttp2Headers()
|
||||||
);
|
);
|
||||||
|
|
|
@ -699,6 +699,18 @@ describe('Other conditions', () => {
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('for an error message with a comma', done => {
|
||||||
|
client.unary(
|
||||||
|
{ error: true, message: 'an error message, with a comma' },
|
||||||
|
(err: ServiceError, data: any) => {
|
||||||
|
assert(err);
|
||||||
|
assert.strictEqual(err.code, grpc.status.UNKNOWN);
|
||||||
|
assert.strictEqual(err.details, 'an error message, with a comma');
|
||||||
|
done();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue