mirror of https://github.com/grpc/grpc-java.git
core: copy the SchemaDescriptor when rebuilding descriptor (#6851)
useMarshalledMessages works by duplicating a ServerServiceDefinition while replacing just the marshallers. It currently does not copy over the SchemaDescriptors, which breaks at least the ProtoReflectionService.
This commit is contained in:
parent
1bf5ad1527
commit
e081f414a7
|
|
@ -197,10 +197,15 @@ public final class ServerInterceptors {
|
|||
wrappedMethods.add(wrapMethod(definition, wrappedMethodDescriptor));
|
||||
}
|
||||
// Build the new service descriptor
|
||||
final ServerServiceDefinition.Builder serviceBuilder = ServerServiceDefinition
|
||||
.builder(new ServiceDescriptor(serviceDef.getServiceDescriptor().getName(),
|
||||
wrappedDescriptors));
|
||||
// Create the new service definiton.
|
||||
final ServiceDescriptor.Builder serviceDescriptorBuilder =
|
||||
ServiceDescriptor.newBuilder(serviceDef.getServiceDescriptor().getName())
|
||||
.setSchemaDescriptor(serviceDef.getServiceDescriptor().getSchemaDescriptor());
|
||||
for (MethodDescriptor<?, ?> wrappedDescriptor : wrappedDescriptors) {
|
||||
serviceDescriptorBuilder.addMethod(wrappedDescriptor);
|
||||
}
|
||||
// Create the new service definition.
|
||||
final ServerServiceDefinition.Builder serviceBuilder =
|
||||
ServerServiceDefinition.builder(serviceDescriptorBuilder.build());
|
||||
for (ServerMethodDefinition<?, ?> definition : wrappedMethods) {
|
||||
serviceBuilder.addMethod(definition);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue