start method
Implementation
@override
Future<void> start() async {
await initCli();
await cliTool.init();
Controller controller = Controller(cliTool, version, onStop: stop);
opentoolRoutes(controller);
final Router mainRouter = Router();
mainRouter.mount(prefix, jsonRpcHttpRouter);
Pipeline pipeline = Pipeline();
if (apiKeys.isNotEmpty) {
pipeline = pipeline.addMiddleware(checkAuthorization(this.apiKeys));
}
Handler handler = pipeline.addHandler(mainRouter);
HttpServer server = await serve(handler, host, port);
print("Start Server: http://${server.address.host}:${server.port}$prefix");
// DaemonClient daemonClient = DaemonClient();
// RegisterInfo registerInfo = RegisterInfo(
// file: Platform.script.toFilePath(),
// host: server.address.host,
// port: server.port,
// prefix: prefix,
// apiKeys: apiKeys,
// pid: pid
// );
// RegisterResult result = await daemonClient.register(registerInfo);
// if(result.error != null) {
// print("WARNING: Register to daemon failed. (${result.error})");
// print("Tool Running in SOLO mode.");
// } else {
// controller.setServerId(result.id);
// print("Register to daemon successfully, id: ${result.id}, pid:$pid");
// }
_serverCompleter.complete(server);
}