public override void Respond(HttpListenerContext context) { switch (context.Request.HttpMethod) { case "GET": context.WriteJson(Database.GetDocuments(context.GetStart(), context.GetPageSize())); break; case "POST": var json = context.ReadJson(); var id = Database.Put(null, Guid.NewGuid(), json, context.Request.Headers.FilterHeaders(), GetRequestTransaction(context)); context.SetStatusToCreated("/docs/" + id); context.WriteJson(id); break; } }
private void OnGet(HttpListenerContext context, string index) { var definition = context.Request.QueryString["definition"]; if ("yes".Equals(definition, StringComparison.InvariantCultureIgnoreCase)) { context.WriteJson(new {index = Database.IndexDefinitionStorage.GetIndexDefinition(index)}); } else { context.WriteJson(Database.Query(index, new IndexQuery { Query = context.Request.QueryString["query"], Start = context.GetStart(), PageSize = context.GetPageSize(), FieldsToFetch = context.Request.QueryString.GetValues("fetch"), SortedFields = context.Request.QueryString.GetValues("sort") .EmptyIfNull() .Select(x => new SortedField(x)) .ToArray() })); } }
public override void Respond(HttpListenerContext context) { context.WriteJson(Database.GetIndexes(context.GetStart(), context.GetPageSize())); }