public async Task CanMakeUrlRequest() { using (var browser = new ChromiumWebBrowser("https://code.jquery.com/jquery-3.4.1.min.js")) { await browser.LoadPageAsync(); var mainFrame = browser.GetMainFrame(); Assert.True(mainFrame.IsValid); IURLRequest urlRequest = null; var t = new TaskCompletionSource <string>(); var wasCached = false; var requestClient = new URLRequestClient( (IURLRequest request, byte[] responseBody) => { wasCached = request.ResponseWasCached(); t.TrySetResult(System.Text.Encoding.UTF8.GetString(responseBody)); } ); //Make the request on the CEF UI Thread await Cef.UIThreadTaskFactory.StartNew(delegate { var request = mainFrame.CreateRequest(false); request.Method = "GET"; request.Url = "https://code.jquery.com/jquery-3.4.1.min.js"; urlRequest = mainFrame.CreateURLRequest(request, requestClient); }); var stringResult = await t.Task; Assert.True(!string.IsNullOrEmpty(stringResult)); Assert.True(wasCached); } }
public void OnRequestComplete(IURLRequest request) { CompleteAction(request, ResponseBody.ToArray()); }
public void OnUploadProgress(IURLRequest request, long current, long total) { return; }
public void OnDownloadData(IURLRequest request, byte[] data) { StreamWriter.Write(data); }