public async Task NonUpgradeRequest_PassesThrough() { Http2Middleware middleware = new Http2Middleware(NextSuccess, NextNotImplemented); IDictionary<string, object> environment = CreateBasicRequest(); await middleware.Invoke(environment); Assert.Equal(201, environment["owin.ResponseStatusCode"]); }
public async Task UpgradeRequest_Upgrades() { bool upgradeCalled = false; Http2Middleware middleware = new Http2Middleware(NextNotImplemented, NextSuccess); IDictionary<string, object> environment = CreateUpgradeRequest(); environment["opaque.Upgrade"] = new OpaqueUpgrade((options, callback) => upgradeCalled = true); await middleware.Invoke(environment); Assert.True(upgradeCalled); Assert.Equal(101, environment["owin.ResponseStatusCode"]); IDictionary<string, string[]> responseHeaders = (IDictionary<string, string[]>)environment["owin.ResponseHeaders"]; Assert.Equal(2, responseHeaders.Count); // Connection, Upgrade Assert.Equal("Upgrade", responseHeaders["Connection"][0]); Assert.Equal("HTTP/2.0", responseHeaders["Upgrade"][0]); }