public async Task CanSetExtraHTTPHeaders() { using (var browser = new ChromiumWebBrowser("about:blank", automaticallyCreateBrowser: false)) { await browser.CreateBrowserAsync(); using (var devToolsClient = browser.GetDevToolsClient()) { var extraHeaders = new Headers(); extraHeaders.SetCommaSeparatedValues("TEST", "0"); extraHeaders.AppendCommaSeparatedValues("test", " 1 ", "\" 2 \""); extraHeaders.AppendCommaSeparatedValues("Test", " 2,5 "); await devToolsClient.Network.SetExtraHTTPHeadersAsync(extraHeaders); var evtTask = Assert.RaisesAsync <RequestWillBeSentEventArgs>( x => devToolsClient.Network.RequestWillBeSent += x, x => devToolsClient.Network.RequestWillBeSent -= x, async() => { // enable events await devToolsClient.Network.EnableAsync(); await browser.LoadUrlAsync("www.google.com"); }); var xUnitEvent = await evtTask; Assert.NotNull(xUnitEvent); var args = xUnitEvent.Arguments; Assert.NotNull(args); Assert.NotEmpty(args.RequestId); Assert.NotEqual(0, args.Timestamp); Assert.NotEqual(0, args.WallTime); Assert.NotNull(args.Request); Assert.True(args.Request.Headers.TryGetValues("TeSt", out var values)); Assert.Collection(values, v => Assert.Equal("0", v), v => Assert.Equal("1", v), v => Assert.Equal(" 2 ", v), v => Assert.Equal(" 2,5 ", v) ); } } }
public void HeadersAppendCommaSeparatedValues() { var headers = new Headers(); headers.AppendCommaSeparatedValues("TEST", " 1 "); headers.AppendCommaSeparatedValues("test", "\" 1,5 \"", "2", " 2 , 5 ", "3", " ", ""); Assert.Collection(headers.GetCommaSeparatedValues("Test"), v => Assert.Equal("1", v), v => Assert.Equal(" 1,5 ", v), v => Assert.Equal("2", v), v => Assert.Equal(" 2 , 5 ", v), v => Assert.Equal("3", v), v => Assert.Equal("", v), v => Assert.Equal("", v) ); }
public async Task CanSetExtraHTTPHeaders() { using (var browser = new ChromiumWebBrowser("about:blank", automaticallyCreateBrowser: false)) { await browser.CreateBrowserAsync(); RequestWillBeSentEventArgs requestWillBeSentEventArgs = null; using (var devToolsClient = browser.GetDevToolsClient()) { var extraHeaders = new Headers(); extraHeaders.SetCommaSeparatedValues("TEST", "0"); extraHeaders.AppendCommaSeparatedValues("test", " 1 ", "\" 2 \""); extraHeaders.AppendCommaSeparatedValues("Test", " 2,5 "); await devToolsClient.Network.SetExtraHTTPHeadersAsync(extraHeaders); devToolsClient.Network.RequestWillBeSent += (sender, args) => { if (requestWillBeSentEventArgs == null) { requestWillBeSentEventArgs = args; } }; // enable events await devToolsClient.Network.EnableAsync(); await browser.LoadUrlAsync("www.google.com"); } Assert.NotNull(requestWillBeSentEventArgs); Assert.NotEmpty(requestWillBeSentEventArgs.RequestId); Assert.NotEqual(0, requestWillBeSentEventArgs.Timestamp); Assert.NotEqual(0, requestWillBeSentEventArgs.WallTime); Assert.NotNull(requestWillBeSentEventArgs.Request); Assert.True(requestWillBeSentEventArgs.Request.Headers.TryGetValues("TeSt", out var values)); Assert.Collection(values, v => Assert.Equal("0", v), v => Assert.Equal("1", v), v => Assert.Equal(" 2 ", v), v => Assert.Equal(" 2,5 ", v) ); } }