public async Task TestAsync() { var entry = new TestEntity { A = "abc", B = 3 }; var route = "/test/put_test/abc"; await routeHandler.PutAsync(route, JsonConvert.SerializeObject(entry)); var a = await routeHandler.GetAsync(route); JsonConvert.DeserializeObject <TestEntity>(a).ShouldBeEquivalentTo(entry); }
private async Task <string> GetResponse(HttpListenerContext listenerContext) { var route = listenerContext.Request.Url.AbsolutePath; switch (listenerContext.Request.HttpMethod) { case "GET": return(await routeHandler.GetAsync(route)); case "PUT": var data = new StreamReader(listenerContext.Request.InputStream, listenerContext.Request.ContentEncoding) .ReadToEnd(); await routeHandler.PutAsync(route, data); return(string.Empty); default: throw new InvalidRequestException($"Unsupported method : {listenerContext.Request.HttpMethod}"); } }