Пример #1
0
        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);
        }
Пример #2
0
 /// <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());
     }
 }
Пример #3
0
 /// <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());
     }
 }
Пример #4
0
        /// <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);
        }
Пример #5
0
        /// <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);
        }