protected virtual void OnWebResourceRequested(WebResourceRequestedEventArgs e) { if (WebResourceRequested != null) { WebResourceRequested(this, e); } }
private void HandleWebResourceRequested(object sender, WebResourceRequestedEventArgs e) { var uri = new Uri(e.Request.Uri); if (Element.SchemeHandlers.TryGetValue(uri.Scheme, out var handler)) { var responseStream = handler(e.Request.Uri, out var responseContentType); if (responseStream != null) // If null, the handler doesn't want to handle it { using var ms = new MemoryStream(); responseStream.CopyTo(ms); var responseBytes = ms.ToArray(); var responseBytesHandle = GCHandle.Alloc(responseBytes, GCHandleType.Pinned); try { var responseStreamCom = NativeMethods.SHCreateMemStream(responseBytesHandle.AddrOfPinnedObject(), (uint)responseBytes.Length); var response = Control.WebView2Environment.CreateWebResourceResponse( responseStreamCom, 200, "OK", $"Content-Type: {responseContentType}"); e.SetResponse(response); } finally { responseBytesHandle.Free(); } } } }
private void WebView2WebResourceRequested(object sender, WebResourceRequestedEventArgs e) { WebView2WebResourceRequest webResourceRequest = e.Request; WebView2WebResourceResponse webResourceResponse = e.Response; string message = "{ \"kind\": \"event\", \"name\": " + "\"WebResourceRequested\", \"args\": {" + "\"request\": " + RequestToJsonString(webResourceRequest) + ", " + "\"response\": null" + "}"; message += WebViewPropertiesToJsonString(_eventSourceWebView2); message += "}"; PostEventMessage(message); }
private void OnWebResourceRequested(object sender, WebResourceRequestedEventArgs e) { Debug.Print(e.Request.Uri); }
private void OnWebViewWebResourceRequested(object sender, WebResourceRequestedEventArgs e) { Trace.TraceInformation("OnWebViewWebResourceRequested"); Debug.Print(e.Request.Uri); Debug.Print(e.Request.Method); }