Python gRPC サービスから grpc-web クライアントに末尾のメタデータを送信しようとしています。しかし、クライアント側ではそれを受け取ることができません。
envoy プロキシ サーバーを使用して、grpc-web を python gRPC サービスに接続しています。
メタデータを送信するために、私はこの方法を使用しています:
class Greeter(helloworld_pb2_grpc.GreeterServicer):
def SayHello(self, request, context):
context.set_trailing_metadata((
('checksum', 'I agree'),
('retry', 'false'),
))
return helloworld_pb2.HelloReply(message='Hello, %s!' % request.name)
クライアントでは、次の方法でメタデータにアクセスしようとしています:
var call = greeterService.sayHello(request, {}, function(err, response) {
if (err) {
console.log(err.code);
console.log(err.message);
} else {
console.log(response.getMessage());
}
});
call.on('status', function(status) {
console.log(status.code);
console.log(status.details);
console.log(status.metadata); // here should arrive metadata
});
ドキュメントに記載されている方法で送信しています。しかし、メタデータが届きません。
誰もそのような問題を抱えていましたか?