mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-22 00:24:19 +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:
@@ -35,6 +35,10 @@ overrides = {
|
|||||||
'ListFunds.channels[].state': 'ChannelState',
|
'ListFunds.channels[].state': 'ChannelState',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
method_name_overrides = {
|
||||||
|
"Connect": "ConnectPeer",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class GrpcGenerator:
|
class GrpcGenerator:
|
||||||
"""A generator that generates protobuf files.
|
"""A generator that generates protobuf files.
|
||||||
@@ -81,8 +85,9 @@ class GrpcGenerator:
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
for method in service.methods:
|
for method in service.methods:
|
||||||
|
mname = method_name_overrides.get(method.name, method.name)
|
||||||
self.write(
|
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,
|
cleanup=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -348,8 +353,9 @@ class GrpcServerGenerator(GrpcConverterGenerator):
|
|||||||
""")
|
""")
|
||||||
|
|
||||||
for method in service.methods:
|
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
|
# 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"""\
|
self.write(f"""\
|
||||||
async fn {name}(
|
async fn {name}(
|
||||||
&self,
|
&self,
|
||||||
|
|||||||
Reference in New Issue
Block a user