public void TestGZip() { dynamic message = new ExpandoObject(); message.Title = "Mr."; message.Name = "Sid"; message.City = "London"; message.TimeStamp = DateTime.UtcNow; message.Id = 42; var jsonIn = JsonConvert.SerializeObject(message, Formatting.None); byte[] data = Encoding.UTF8.GetBytes(jsonIn); ServiceHandlerContext holder = data; var comp = new CompressorGzip(); bool successCompress = comp.TryCompression(holder); bool successDecompress = comp.TryDecompression(holder); string jsonOut = Encoding.UTF8.GetString(holder.Blob); Assert.IsTrue(jsonIn == jsonOut); }
public void TestCastFromHolder() { var holder = new ServiceHandlerContext().SetBlob(new byte[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }); byte[] blob = holder; Assert.IsNotNull(blob); Assert.IsTrue(blob.Length == 10); }
/// <summary> /// This extension method is used to set the response for an inline message. /// </summary> /// <typeparam name="C">The entity type.</typeparam> /// <param name="c">The incoming parameters.</param> /// <param name="status">The response status.</param> /// <param name="response">The optional response object.</param> /// <param name="description">The optional response description</param> public static void ResponseSet <C>(this ICommandRequestContext c, int status, C response = default(C), string description = null) { TransmissionPayload ars = c.Request.ToResponse(); ars.Message.StatusSet(status, description); if (!response.Equals(default(C))) { ars.Message.Holder = ServiceHandlerContext.CreateWithObject(response); } c.Responses.Add(ars); }