public override void Respond(Abstractions.IHttpContext context) { var prefetcherDocs = Database.IndexingExecuter.PrefetchingBehavior.DebugGetDocumentsInPrefetchingQueue().ToArray(); var compareToCollection = new Dictionary <Etag, int>(); for (int i = 1; i < prefetcherDocs.Length; i++) { compareToCollection.Add(prefetcherDocs[i - 1].Etag, prefetcherDocs[i].Etag.CompareTo(prefetcherDocs[i - 1].Etag)); } if (compareToCollection.Any(x => x.Value < 0)) { context.WriteJson(new { HasCorrectlyOrderedEtags = true, EtagsWithKeys = prefetcherDocs.ToDictionary(x => x.Etag, x => x.Key) }); } else { context.WriteJson(new { HasCorrectlyOrderedEtags = false, IncorrectlyOrderedEtags = compareToCollection.Where(x => x.Value < 0), EtagsWithKeys = prefetcherDocs.ToDictionary(x => x.Etag, x => x.Key) }); } }
public override void Respond(Abstractions.IHttpContext context) { if (context.User.IsAdministrator() == false) { context.SetStatusToUnauthorized(); context.WriteJson(new { Error = "The operation '" + context.GetRequestUrl() + "' is only available to administrators" }); return; } RespondToAdmin(context); }