mirror of https://github.com/grpc/grpc-node.git
				
				
				
			Merge pull request #432 from nicolasnoble/backport-428
Backporting #428
This commit is contained in:
		
						commit
						2bfee5878c
					
				|  | @ -51,7 +51,7 @@ void buffer_destroy_func(void *user_data) { | |||
| grpc_slice CreateSliceFromString(const Local<String> source) { | ||||
|   Nan::HandleScope scope; | ||||
|   Nan::Utf8String *utf8_value = new Nan::Utf8String(source); | ||||
|   return grpc_slice_new_with_user_data(**utf8_value, source->Length(), | ||||
|   return grpc_slice_new_with_user_data(**utf8_value, utf8_value->length(), | ||||
|                                        string_destroy_func, utf8_value); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -839,8 +839,12 @@ describe('Other conditions', function() { | |||
|       unary: function(call, cb) { | ||||
|         var req = call.request; | ||||
|         if (req.error) { | ||||
|           var message = 'Requested error'; | ||||
|           if (req.message) { | ||||
|             message = req.message; | ||||
|           } | ||||
|           cb({code: grpc.status.UNKNOWN, | ||||
|               details: 'Requested error'}, null, trailer_metadata); | ||||
|               details: message}, null, trailer_metadata); | ||||
|         } else { | ||||
|           cb(null, {count: 1}, trailer_metadata); | ||||
|         } | ||||
|  | @ -850,8 +854,12 @@ describe('Other conditions', function() { | |||
|         var errored; | ||||
|         stream.on('data', function(data) { | ||||
|           if (data.error) { | ||||
|             var message = 'Requested error'; | ||||
|             if (data.message) { | ||||
|               message = data.message; | ||||
|             } | ||||
|             errored = true; | ||||
|             cb(new Error('Requested error'), null, trailer_metadata); | ||||
|             cb(new Error(message), null, trailer_metadata); | ||||
|           } else { | ||||
|             count += 1; | ||||
|           } | ||||
|  | @ -865,8 +873,12 @@ describe('Other conditions', function() { | |||
|       serverStream: function(stream) { | ||||
|         var req = stream.request; | ||||
|         if (req.error) { | ||||
|           var message = 'Requested error'; | ||||
|           if (req.message) { | ||||
|             message = req.message; | ||||
|           } | ||||
|           var err = {code: grpc.status.UNKNOWN, | ||||
|                      details: 'Requested error'}; | ||||
|                      details: message}; | ||||
|           err.metadata = trailer_metadata; | ||||
|           stream.emit('error', err); | ||||
|         } else { | ||||
|  | @ -880,7 +892,11 @@ describe('Other conditions', function() { | |||
|         var count = 0; | ||||
|         stream.on('data', function(data) { | ||||
|           if (data.error) { | ||||
|             var err = new Error('Requested error'); | ||||
|             var message = 'Requested error'; | ||||
|             if (data.message) { | ||||
|               message = data.message; | ||||
|             } | ||||
|             var err = new Error(message); | ||||
|             err.metadata = trailer_metadata.clone(); | ||||
|             err.metadata.add('count', '' + count); | ||||
|             stream.emit('error', err); | ||||
|  | @ -1127,6 +1143,14 @@ describe('Other conditions', function() { | |||
|         done(); | ||||
|       }); | ||||
|     }); | ||||
|     it('for a UTF-8 error message', function(done) { | ||||
|       client.unary({error: true, message: '測試字符串'}, function(err, data) { | ||||
|         assert(err); | ||||
|         assert.strictEqual(err.code, grpc.status.UNKNOWN); | ||||
|         assert.strictEqual(err.details, '測試字符串'); | ||||
|         done(); | ||||
|       }); | ||||
|     }); | ||||
|   }); | ||||
|   describe('call.getPeer should return the peer', function() { | ||||
|     it('for a unary call', function(done) { | ||||
|  |  | |||
|  | @ -16,6 +16,7 @@ syntax = "proto3"; | |||
| 
 | ||||
| message Request { | ||||
|   bool error = 1; | ||||
|   string message = 2; | ||||
| } | ||||
| 
 | ||||
| message Response { | ||||
|  |  | |||
|  | @ -347,13 +347,13 @@ function statusCodeAndMessage(client, done) { | |||
|   var arg = { | ||||
|     response_status: { | ||||
|       code: 2, | ||||
|       message: 'test status message' | ||||
|       message: 'test status message - 測試字符串' | ||||
|     } | ||||
|   }; | ||||
|   client.unaryCall(arg, function(err, resp) { | ||||
|     assert(err); | ||||
|     assert.strictEqual(err.code, 2); | ||||
|     assert.strictEqual(err.details, 'test status message'); | ||||
|     assert.strictEqual(err.details, 'test status message - 測試字符串'); | ||||
|     done(); | ||||
|   }); | ||||
|   var duplex = client.fullDuplexCall(); | ||||
|  | @ -361,7 +361,7 @@ function statusCodeAndMessage(client, done) { | |||
|   duplex.on('status', function(status) { | ||||
|     assert(status); | ||||
|     assert.strictEqual(status.code, 2); | ||||
|     assert.strictEqual(status.details, 'test status message'); | ||||
|     assert.strictEqual(status.details, 'test status message - 測試字符串'); | ||||
|     done(); | ||||
|   }); | ||||
|   duplex.on('error', function(){}); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue