public Program(IPEndPoint endpoint, string base_directory)
: base(endpoint)
{
Get["/regions"] = GetRegions;
Get["/organisations"] = GetOrganisations;
Post["/form"] = PostForm;
Get["/admin"] = GetAdmin;
Get["/admin.html"] = GetAdmin;
Get["/admin/login"] = GetLogin;
Get["/login.html"] = GetLogin;
Post["/admin/login"] = PostLogin;
Get["/admin/data"] = GetJsonData;
Post["/admin/export"] = PostExportData;
_base_directory = new DirectoryInfo(base_directory);
foreach (var file in _base_directory.RecursiveFileSearch())
{
string f = file.Name;
if (f == "index.html")
f = "";
DirectoryInfo p = file.Directory;
while (p.Name != _base_directory.Name)
{
f = p.Name + "/" + f;
p = p.Parent;
}
Get["/" + f] = (r, e) => DefaultResponses.FileResponse(e, file.FullName);
}
}