import handy_http_transport; import slf4d; import slf4d.default_provider; import api_mapping; struct AppConfig { ushort port; string webOrigin; } void main() { const AppConfig config = readConfig(); auto provider = new DefaultProvider(Levels.INFO); configureLoggingProvider(provider); HttpTransport transport = new TaskPoolHttp1Transport(mapApiHandlers(config.webOrigin), config.port); transport.start(); } AppConfig readConfig() { import std.file : exists, readText; import std.json; import std.conv : to; // Local dev environment if no config is given. if (!exists("finnow-api-config.json")) { return AppConfig(8080, "http://localhost:5173"); } JSONValue obj = parseJSON(readText("finnow-api-config.json")); return AppConfig(obj.object["port"].integer.to!ushort, obj.object["webOrigin"].str); }