mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-15 11:59:16 +01:00
msggen: Support renaming methods in GRPC
There is at least one clash with a built-in for the grpc server trait, namely `connect` so we add support for renaming a method when generating the scaffolding
This commit is contained in:
parent
efed7d8617
commit
bb4946a6e6
1 changed files with 8 additions and 2 deletions
|
@ -35,6 +35,10 @@ overrides = {
|
|||
'ListFunds.channels[].state': 'ChannelState',
|
||||
}
|
||||
|
||||
method_name_overrides = {
|
||||
"Connect": "ConnectPeer",
|
||||
}
|
||||
|
||||
|
||||
class GrpcGenerator:
|
||||
"""A generator that generates protobuf files.
|
||||
|
@ -81,8 +85,9 @@ class GrpcGenerator:
|
|||
""")
|
||||
|
||||
for method in service.methods:
|
||||
mname = method_name_overrides.get(method.name, method.name)
|
||||
self.write(
|
||||
f" rpc {method.name}({method.request.typename}) returns ({method.response.typename}) {{}}\n",
|
||||
f" rpc {mname}({method.request.typename}) returns ({method.response.typename}) {{}}\n",
|
||||
cleanup=False,
|
||||
)
|
||||
|
||||
|
@ -348,8 +353,9 @@ class GrpcServerGenerator(GrpcConverterGenerator):
|
|||
""")
|
||||
|
||||
for method in service.methods:
|
||||
mname = method_name_overrides.get(method.name, method.name)
|
||||
# Tonic will convert to snake-case, so we have to do it here too
|
||||
name = re.sub(r'(?<!^)(?=[A-Z])', '_', method.name).lower()
|
||||
name = re.sub(r'(?<!^)(?=[A-Z])', '_', mname).lower()
|
||||
self.write(f"""\
|
||||
async fn {name}(
|
||||
&self,
|
||||
|
|
Loading…
Add table
Reference in a new issue