String
createScriptSource(Map<String, dynamic> values)
Source
String createScriptSource(Map<String, dynamic> values) {
var addressString = "..address = \"___ADDRESS___\"";
if (values["ADDRESS"] == null) {
addressString = "";
}
var configString =
"..configurationFilePath = r\"___CONFIGURATION_FILE_PATH___\"";
if (values["CONFIGURATION_FILE_PATH"] == null) {
configString = "";
}
var certificateString =
"..certificateFilePath = r\"___SSL_CERTIFICATE_PATH___\"";
if (values["SSL_CERTIFICATE_PATH"] == null) {
certificateString = "";
}
var keyString =
"..privateKeyFilePath = r\"___SSL_KEY_PATH___\"";
if (values["SSL_KEY_PATH"] == null) {
keyString = "";
}
var onCompleteString =
"var signalFile = new File(\".\${pid}.$pidSuffix\");\n"
"\t\tawait signalFile.writeAsString(\"ok\");";
var onErrorString =
"\tvar signalFile = new File(\".\${pid}.$pidSuffix\");\n"
"\tawait signalFile.writeAsString(error);";
if (!monitorStartup) {
onCompleteString = "";
onErrorString = "\tprint(error);";
}
var contents = """
import 'dart:async';
import 'dart:io';
import 'package:aqueduct/aqueduct.dart';
import 'package:___PACKAGE_NAME___/___LIBRARY_NAME___.dart';
main() async {
try {
var app = new Application<___SINK_TYPE___>();
var config = new ApplicationConfiguration()
..port = ___PORT___
$certificateString
$keyString
$addressString
$configString
..isIpv6Only = ___IPV6_ONLY___;
app.configuration = config;
await app.start(numberOfInstances: ___NUMBER_OF_ISOLATES___);
$onCompleteString
} catch (e, st) {
await writeError("\$e\\n \$st");
}
}
Future writeError(String error) async {
$onErrorString
}
""";
return contents.replaceAllMapped(new RegExp("___([A-Za-z0-9_-]+)___"),
(match) {
return values[match.group(1)];
});
}