public SpecialResource(AppInfo app, int perm, string relativeFilePath, string rawUrl, string contentType) : base(app, relativeFilePath, rawUrl, contentType) { _perm = perm; }
static string swap(AppInfo s) => (s?.AppName ?? "").Trim();
public AdminResource(AppInfo appInfo, string filePath, string rawUrl, string contentType) : base(appInfo, filePath, rawUrl, contentType) { }