resolve method
Resolve the incoming message packet.
Implementation
@override
void resolve() {
if (resolvedAlready) {
return;
}
final extractedServices = <Service>[];
for (final module in config.modulesContainer.scopes) {
for (final controllerEntry
in module.controllers.whereType<GrpcServiceController>()) {
final serviceName = controllerEntry.service.$name;
extractedServices.add(controllerEntry.service);
resolvedMessageRoutes[serviceName] = GrpcServiceContext(
metadata: controllerEntry.metadata,
providers: {
for (final providerEntry in module.unifiedProviders)
providerEntry.runtimeType: providerEntry,
},
hooks: controllerEntry.hooks.merge([
config.globalHooks,
]),
pipes: {
...controllerEntry.pipes,
...config.globalPipes,
},
exceptionFilters: {
...controllerEntry.exceptionFilters,
...config.globalExceptionFilters,
},
values: module.unifiedValues,
);
}
}
onServicesExtracted(extractedServices);
resolvedAlready = true;
}