Example #1
0
 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;
     }
 }
Example #2
0
 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()
         }));
     }
 }
Example #3
0
 public override void Respond(HttpListenerContext context)
 {
     context.WriteJson(Database.GetIndexes(context.GetStart(), context.GetPageSize()));
 }