private static HttpClient CreateHttpClient(Func <RequestContext, TimeSpan> getConnectionTimeout) { var app = new AppBuilder(); app.ConnectionTimeout(getConnectionTimeout) .Use(async(context, _) => { var buffer = new byte[1024]; await context.Request.Body.ReadAsync(buffer, 0, buffer.Length); byte[] bytes = Enumerable.Repeat((byte)0x1, 1024).ToArray(); context.Response.StatusCode = 200; context.Response.ReasonPhrase = "OK"; context.Response.ContentLength = bytes.LongLength; context.Response.ContentType = "application/octet-stream"; await context.Response.Body.WriteAsync(bytes, 0, bytes.Length); }); return(new HttpClient(new OwinHttpMessageHandler(app.Build())) { BaseAddress = new Uri("http://localhost") }); }