@@ -35,25 +35,42 @@ defmodule Sidecar.Grpc.Generators.ReflectionServerGenerator do
35
35
end
36
36
37
37
@ impl true
38
- def generate ( ctx , % Google.Protobuf.FileDescriptorProto { service: svcs } = _desc ) do
38
+ def generate ( ctx , % Google.Protobuf.FileDescriptorProto { name: name , service: svcs } = _desc ) do
39
39
current_services = :persistent_term . get ( :grpc_reflection_services , [ ] )
40
40
41
- services = do_generate ( ctx , svcs , current_services )
41
+ { _name ,
42
+ [
43
+ services: services
44
+ ] } = result = do_generate ( ctx , name , svcs , current_services )
42
45
43
46
:persistent_term . put ( :grpc_reflection_services , services )
44
47
45
- { List . first ( services ) ,
48
+ result
49
+ end
50
+
51
+ defp do_generate ( _ctx , name , nil , current_services ) do
52
+ { name ,
46
53
[
47
- services: services
54
+ services: current_services
55
+ ] }
56
+ end
57
+
58
+ defp do_generate ( _ctx , name , [ ] , current_services ) do
59
+ { name ,
60
+ [
61
+ services: current_services
48
62
] }
49
63
end
50
64
51
- defp do_generate ( _ctx , nil , current_services ) , do: current_services
52
- defp do_generate ( _ctx , [ ] , current_services ) , do: current_services
65
+ defp do_generate ( ctx , _name , svcs , current_services ) do
66
+ services =
67
+ svcs
68
+ |> Enum . map ( fn svc -> Util . mod_name ( ctx , [ Macro . camelize ( svc . name ) ] ) end )
69
+ |> Kernel . ++ ( current_services )
53
70
54
- defp do_generate ( ctx , svcs , current_services ) do
55
- svcs
56
- |> Enum . map ( fn svc -> Util . mod_name ( ctx , [ Macro . camelize ( svc . name ) ] ) end )
57
- |> Kernel . ++ ( current_services )
71
+ { List . first ( services ) ,
72
+ [
73
+ services: services
74
+ ] }
58
75
end
59
76
end
0 commit comments