Skip to content

Commit 7acd53b

Browse files
committed
Fix issue when metadata contains status trailer which has an invalid key
1 parent 46e891d commit 7acd53b

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

android/src/main/java/com/reactnativegrpc/GrpcModule.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -184,11 +184,11 @@ public void onHeaders(Metadata headers) {
184184
WritableMap payload = Arguments.createMap();
185185

186186
for (String key : headers.keys()) {
187-
if (key.endsWith("-bin")) {
187+
if (key.endsWith(Metadata.BINARY_HEADER_SUFFIX)) {
188188
byte[] data = headers.get(Metadata.Key.of(key, Metadata.BINARY_BYTE_MARSHALLER));
189189

190190
payload.putString(key, new String(Base64.encode(data, Base64.NO_WRAP)));
191-
} else {
191+
} else if (!key.startsWith(":")) {
192192
String data = headers.get(Metadata.Key.of(key, Metadata.ASCII_STRING_MARSHALLER));
193193

194194
payload.putString(key, data);
@@ -233,11 +233,11 @@ public void onClose(Status status, Metadata trailers) {
233233
WritableMap trailersMap = Arguments.createMap();
234234

235235
for (String key : trailers.keys()) {
236-
if (key.endsWith("-bin")) {
236+
if (key.endsWith(Metadata.BINARY_HEADER_SUFFIX)) {
237237
byte[] data = trailers.get(Metadata.Key.of(key, Metadata.BINARY_BYTE_MARSHALLER));
238238

239239
trailersMap.putString(key, new String(Base64.encode(data, Base64.NO_WRAP)));
240-
} else {
240+
} else if (!key.startsWith(":")) {
241241
String data = trailers.get(Metadata.Key.of(key, Metadata.ASCII_STRING_MARSHALLER));
242242

243243
trailersMap.putString(key, data);

0 commit comments

Comments
 (0)