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