import 'dart:convert'; import 'dart:io'; class HostAndPort { String host; int port; } class ManageConfig { String listen; } class ProxyItemConfig { String listen; String backend; List allowIps; } class ProxyConfig { ManageConfig managementConfig; List tcpListens; } ProxyConfig parseProxyConfig(String config) { final jsonConfig = json.decode(config); } Future loadProxyConfig(String configFile/*, {List files} ?? */) async { final configFn = File(configFile); if (!await configFn.exists()) { throw 'Config file not found: ' + configFile; } return parseProxyConfig(await configFn.readAsString()); }