Beispiel #1
0
        CefReturnValue IResourceRequestHandler.OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)
        {
            if (RequestsFiltering.ShouldBeBlocked(request.Url))
            {
                if (!callback.IsDisposed)
                {
                    callback.Dispose();
                }

                return(CefReturnValue.Cancel);
            }

            if (UserAgent != null || Headers != null)
            {
                var headersCollection = request.Headers;
                var headers           = new WebHeadersEventArgs(request.Url);
                Headers?.Invoke(this, headers);
                foreach (var pair in headers.Headers)
                {
                    headersCollection[pair.Key] = pair.Value;
                }
                if (UserAgent != null)
                {
                    headersCollection[@"User-Agent"] = UserAgent;
                }
                request.Headers = headersCollection;
            }

            return(CefReturnValue.Continue);
        }
Beispiel #2
0
 private void OnRequestHandlerHeaders(object o, WebHeadersEventArgs webInjectEventArgs)
 {
     Headers?.Invoke(this, webInjectEventArgs);
 }