Example #1
0
 public virtual void HandleRequest(HttpListenerRequest request, HttpListenerResponse response)
 {
     if (request.Url.Segments.Length > 1)
     {
         if (string.Compare(request.Url.Segments[1], 0, "artefacts", 0, 9, true) == 0)
         {
             Artefact artefact = BsonSerializer.Deserialize <Artefact>(new JsonReader(new StreamReader(new BsonStreamAdapter(request.InputStream))));
             //(BsonDeserializationContext.Builder builder) =>
             //{
             //    builder.DynamicDocumentSerializer = ArtefactSerializer.Instance;
             //});
             Console.WriteLine(nameof(Service) + ": " + UriBase
                                                                           /*.TrimEnd('/') + '/' + string.Join("/", request.Url.Segments) + '/'*/
                               + Console.Out.NewLine + artefact.ToJson()); //.ToString());
             using (var writer = new StreamWriter(response.OutputStream))
             {
                 using (var bsonwriter = new JsonWriter(writer))
                 {
                     BsonSerializer.Serialize(bsonwriter, typeof(Artefact), artefact);
                 }
             }
             //response.StatusCode = 200;
             //response.OutputStream.Flush();
             //response.OutputStream.Close();
         }
     }
 }