I am working on a protoc plugin (3.2.0) and have one problem that I cannot figure out how to solve.
Given a proto like this: import "google/api/annotations.proto"; service MyService { rpc MethodOne (model.MethodOneRequest) returns (model.MethodOneResponse) { option (google.api.http) = { post: "/v1/myservice/methodone" body: "*" }; } rpc MethodTwo (model.MethodTwoRequest) returns (model.MethodTwoResponse) {} In my plugin, I need to be able to get at the option values. I can see that they are in the corresponding MethodOption, when I 'toString()' the method option I see them: Options: [72295728: "\"\030/v1/myservice/methodone:\001*" ] What I cannot figure out is how to get that Option into an HttpRule so that I can process it in my plugin. I have tried things like this, but the option-value is not marshaled from the original MethodOption ... final ExtensionRegistry registry = ExtensionRegistry.newInstance(); AnnotationsProto.registerAllExtensions(registry); ... for (final ServiceDescriptorProto service : _services) { final List<MethodDescriptorProto> methods = service.getMethodList(); for (final MethodDescriptorProto method : methods) { // this all works fine, I can see the methods and request/response parameter types /// final MethodOptions options = method.getOptions(); ... HttpRule rule = options.getExtension(AnnotationsProto.http); ... // the 'rule' is empty after this. I have even tried this: rule = HttpRule.parser().parseFrom( CodedInputStream.newInstance(options.toByteArray()), registry); // the 'rule' is still empty I know I'm missing something simple here, but cannot figure out what that might be ... anyone have any clues ? Thanks -JR -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to protobuf+unsubscr...@googlegroups.com. To post to this group, send email to protobuf@googlegroups.com. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.