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