示例#1
0
文件: Static.cs 项目: torkelo/ravendb
 public override void Respond(HttpListenerContext context)
 {
     var match = urlMatcher.Match(context.Request.Url.LocalPath);
     var filename = match.Groups[1].Value;
     var etag = context.GetEtag();
     switch (context.Request.HttpMethod)
     {
         case "GET":
             var attachmentAndHeaders = Database.GetStatic(filename);
             if (attachmentAndHeaders == null)
             {
                 context.SetStatusToNotFound();
                 return;
             }
             if (context.MatchEtag(attachmentAndHeaders.Etag))
             {
                 context.SetStatusToNotModified();
                 return;
             }
             context.WriteData(attachmentAndHeaders.Data, attachmentAndHeaders.Metadata,
                               attachmentAndHeaders.Etag);
             break;
         case "PUT":
             Database.PutStatic(filename, context.GetEtag(), context.Request.InputStream.ReadData(),
                                context.Request.Headers.FilterHeaders());
             context.SetStatusToCreated("/static/" + filename);
             break;
         case "DELETE":
             Database.DeleteStatic(filename, etag);
             context.SetStatusToDeleted();
             break;
     }
 }
示例#2
0
文件: Index.cs 项目: torkelo/ravendb
 private void Put(HttpListenerContext context, string index)
 {
     var data = context.ReadJsonObject<IndexDefinition>();
     if (data.Map == null)
     {
         context.SetStatusToBadRequest();
         context.Write("Expected json document with 'Map' property");
         return;
     }
     context.SetStatusToCreated("/indexes/" + index);
     context.WriteJson(new { index = Database.PutIndex(index, data) });
 }
示例#3
0
文件: Docs.cs 项目: torkelo/ravendb
 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;
     }
 }
示例#4
-1
 private void Put(HttpListenerContext context, string docId)
 {
     var json = context.ReadJson();
     context.SetStatusToCreated("/docs/" + docId);
     var putResult = Database.Put(docId, context.GetEtag(), json, context.Request.Headers.FilterHeaders(), GetRequestTransaction(context));
     context.WriteJson(putResult);
 }