public override bool Process(HttpServer.IHttpRequest request, HttpServer.IHttpResponse response, HttpServer.Sessions.IHttpSession session)
        {
            if (request.UriPath == Url)
            {
                ThreadStore.GetStorageEngine().UpdateThreadStoreStats();
                ThreadStoreStats stats = ThreadStore.GetStorageEngine().StoreStats;

                JsonArray ja = new JsonArray();

                IEnumerable <string> boards = Program.ValidBoards.Keys;

                for (int i = 0, j = boards.Count(); i < j; i++)
                {
                    string boardName   = boards.ElementAt(i);
                    int    threadCount = stats[boardName];

                    if (threadCount > 0)
                    {
                        JsonArray inner = new JsonArray();

                        inner.Add(boardName);
                        inner.Add(threadCount);

                        ja.Add(inner);
                    }
                }

                WriteJsonResponse(response, ja.ToString());
                return(true);
            }

            return(false);
        }
Пример #2
0
        private string get_ArchivedThreadsStats()
        {
            StringBuilder    sb    = new StringBuilder();
            ThreadStoreStats stats = ThreadStore.GetStorageEngine().StoreStats;

            foreach (string board in Program.ValidBoards.Keys)
            {
                int threadCount = stats[board];
                if (threadCount > 0)
                {
                    sb.Append("<tr>");
                    sb.AppendFormat("<td>/{0}/</td>", board);
                    sb.AppendFormat("<td>{0}</td>", threadCount);
                    sb.Append("</tr>");
                }
            }

            return(sb.ToString());
        }