private object GetSupportImage(string name, string ratio) { Nancy.Response response = new Nancy.Response(); if (string.IsNullOrEmpty(name)) { return(APIStatus.notFound404()); } ratio = ratio.Replace(',', '.'); float.TryParse(ratio, System.Globalization.NumberStyles.AllowDecimalPoint, System.Globalization.CultureInfo.CreateSpecificCulture("en-EN"), out float newratio); name = Path.GetFileNameWithoutExtension(name); System.Resources.ResourceManager man = Resources.ResourceManager; byte[] dta = (byte[])man.GetObject(name); if ((dta == null) || (dta.Length == 0)) { return(APIStatus.notFound404()); } MemoryStream ms = new MemoryStream(dta); ms.Seek(0, SeekOrigin.Begin); System.Drawing.Image im = System.Drawing.Image.FromStream(ms); response = Response.FromStream(ResizeToRatio(im, newratio), "image/png"); return(response); }
/// <summary> /// Return given setting /// </summary> /// <param name="setting">parameter you want to read</param> /// <returns></returns> private object GetSetting() { try { Settings setting = this.Bind(); if (setting != null) { var config = ServerSettings.Get(setting.setting); if (config != null) { Settings return_setting = new Settings(); return_setting.setting = setting.setting; return_setting.value = config; return(return_setting); } else { return(APIStatus.notFound404("Parameter not found.")); } } else { return(APIStatus.badRequest("Setting was null.")); } } catch { return(APIStatus.internalError()); } }
/// <summary> /// Read json file that is converted into string from .config file of jmmserver /// </summary> /// <returns></returns> private object GetWebUIConfig() { if (!String.IsNullOrEmpty(ServerSettings.WebUI_Settings)) { try { WebUI_Settings settings = JsonConvert.DeserializeObject <WebUI_Settings>(ServerSettings.WebUI_Settings); return(settings); } catch { return(APIStatus.internalError("error while reading webui settings")); } } else { return(APIStatus.notFound404()); } }
/// <summary> /// return int position - current position /// return string[] lines - lines from current log file /// </summary> /// <param name="lines">max lines to return</param> /// <param name="position">position to seek</param> /// <returns></returns> private object GetLog(int lines, int position) { string log_file = LogRotator.GetCurrentLogFile(); if (string.IsNullOrEmpty(log_file)) { return(APIStatus.notFound404("Could not find current log name. Sorry")); } if (!File.Exists(log_file)) { return(APIStatus.notFound404()); } Dictionary <string, object> result = new Dictionary <string, object>(); FileStream fs = File.OpenRead(@log_file); if (position >= fs.Length) { result.Add("position", fs.Length); result.Add("lines", new string[] { }); return(result); } List <string> logLines = new List <string>(); LogReader reader = new LogReader(fs, position); for (int i = 0; i < lines; i++) { string line = reader.ReadLine(); if (line == null) { break; } logLines.Add(line); } result.Add("position", reader.Position); result.Add("lines", logLines.ToArray()); return(result); }
/// <summary> /// Return SupportImage (build-in server) /// </summary> /// <param name="name">image file name</param> /// <returns></returns> private object GetSupportImage(string name) { Nancy.Response response = new Nancy.Response(); if (string.IsNullOrEmpty(name)) { return(APIStatus.notFound404()); } name = Path.GetFileNameWithoutExtension(name); System.Resources.ResourceManager man = Resources.ResourceManager; byte[] dta = (byte[])man.GetObject(name); if ((dta == null) || (dta.Length == 0)) { return(APIStatus.notFound404()); } MemoryStream ms = new MemoryStream(dta); ms.Seek(0, SeekOrigin.Begin); response = Response.FromStream(ms, "image/png"); return(response); }