static void AddTokenIfWithsix(HttpClient client, Uri uri, string token) { if ((token != null) && CommonUrls.IsWithSixUrl(uri)) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); } }
bool IRequestHandler.OnBeforeBrowse(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, bool isRedirect) { if (!frame.IsMain || CommonUrls.IsWithSixUrl(request.Url) || IsAuthUrl(new Uri(request.Url))) { return(false); } OpenInSystemBrowser(request.Url); return(true); }
void HandleRequestNavigate(object sender, RequestNavigateEventArgs args) { if (CommonUrls.IsWithSixUrl(args.Uri)) { BrowserHelper.TryOpenUrlIntegrated(args.Uri); } else { Tools.Generic.TryOpenUrl(args.Uri); } }
CefReturnValue IRequestHandler.OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback) { if (CommonUrls.IsWithSixUrl(request.Url)) { var headers = request.Headers; headers[Common.ClientHeader] = DomainEvilGlobal.SecretData.UserInfo.ClientId.ToString(); headers[Common.ClientHeaderV] = Common.App.ProductVersion; request.Headers = headers; } return(CefReturnValue.Continue); //Example of how to set Referer // Same should work when setting any header // For this example only set Referer when using our custom scheme var url = new Uri(request.Url); if (url.Scheme == "customscheme") // CefSharpSchemeHandlerFactory.SchemeName { var headers = request.Headers; headers["Referer"] = "http://google.com"; request.Headers = headers; } //NOTE: If you do not wish to implement this method returning false is the default behaviour // We also suggest you explicitly Dispose of the callback as it wraps an unmanaged resource. //callback.Dispose(); //return false; //NOTE: When executing the callback in an async fashion need to check to see if it's disposed if (!callback.IsDisposed) { using (callback) { if (request.Method == "POST") { using (var postData = request.PostData) { if (postData != null) { var elements = postData.Elements; var charSet = request.GetCharSet(); foreach (var element in elements) { if (element.Type == PostDataElementType.Bytes) { var body = element.GetBody(charSet); } } } } } //Note to Redirect simply set the request Url //if (request.Url.StartsWith("https://www.google.com", StringComparison.OrdinalIgnoreCase)) //{ // request.Url = "https://github.com/"; //} //Callback in async fashion //callback.Continue(true); //return CefReturnValue.ContinueAsync; } } return(CefReturnValue.Continue); }