public virtual ChromelyConfiguration RegisterCustomrUrlScheme(string schemeName, string domainName) { UrlScheme scheme = new UrlScheme(schemeName, domainName, false); UrlSchemeProvider.RegisterScheme(scheme); return(this); }
public HttpRequestRaisedEventArgs( string url, UrlScheme urlScheme, string httpMethod) { this.Request = new HttpRequest(url, urlScheme, httpMethod); }
/// <summary> /// The on register custom schemes. /// </summary> /// <param name="registrar"> /// The registrar. /// </param> protected override void OnRegisterCustomSchemes(CefSchemeRegistrar registrar) { var schemeHandlerObjs = IoC.GetAllInstances(typeof(ChromelySchemeHandler)); if (schemeHandlerObjs != null) { var schemeHandlers = schemeHandlerObjs.ToList(); foreach (var item in schemeHandlers) { if (item is ChromelySchemeHandler) { ChromelySchemeHandler handler = (ChromelySchemeHandler)item; if (handler.HandlerFactory is CefSchemeHandlerFactory) { bool isStandardScheme = UrlScheme.IsStandardScheme(handler.SchemeName); if (!isStandardScheme) { registrar.AddCustomScheme(handler.SchemeName, true, false, false, false, true, true); } } } } } }
public HttpResponseReceivedEventArgs2( string url, UrlScheme urlScheme, string httpMethod) { this.Response = new HttpResponse(url, urlScheme, httpMethod); }
public virtual ChromelyConfiguration RegisterExternaleUrlScheme(string schemeName, string domainName) { UrlScheme scheme = new UrlScheme(schemeName, domainName, true); UrlSchemeProvider.RegisterScheme(scheme); return(this); }
/// <summary> /// The on register custom schemes. /// </summary> /// <param name="registrar"> /// The registrar. /// </param> protected override void OnRegisterCustomSchemes(CefSchemeRegistrar registrar) { var resourceSchemes = _config?.UrlSchemes?.GetAllResouceSchemes(); if (resourceSchemes != null) { foreach (var item in resourceSchemes) { bool isStandardScheme = UrlScheme.IsStandardScheme(item.Scheme); if (!isStandardScheme) { registrar.AddCustomScheme(item.Scheme, true, false, false, false, true, false); } } } var customSchemes = _config?.UrlSchemes?.GetAllCustomSchemes(); if (customSchemes != null) { foreach (var item in customSchemes) { bool isStandardScheme = UrlScheme.IsStandardScheme(item.Scheme); if (!isStandardScheme) { registrar.AddCustomScheme(item.Scheme, true, false, false, false, true, false); } } } }
public static bool IsValidUrl(this string url, UrlScheme urlScheme = UrlScheme.All) { bool isValidUrl = Uri.TryCreate(url, UriKind.Absolute, out var uriResult); if (!isValidUrl) { return(false); } switch (urlScheme) { case UrlScheme.All: isValidUrl &= uriResult.Scheme == Uri.UriSchemeHttps || uriResult.Scheme == Uri.UriSchemeHttp; break; case UrlScheme.Https: isValidUrl &= uriResult.Scheme == Uri.UriSchemeHttps; break; case UrlScheme.Http: isValidUrl &= uriResult.Scheme == Uri.UriSchemeHttp; break; } return(isValidUrl); }
/// <summary> /// The on register custom schemes. /// </summary> /// <param name="registrar"> /// The registrar. /// </param> protected override void OnRegisterCustomSchemes(CefSchemeRegistrar registrar) { var resourceSchemes = _config?.UrlSchemes?.GetAllResouceSchemes(); if (resourceSchemes != null) { foreach (var item in resourceSchemes) { bool isStandardScheme = UrlScheme.IsStandardScheme(item.Scheme); if (!isStandardScheme) { var option = CefSchemeOptions.Local | CefSchemeOptions.CorsEnabled; registrar.AddCustomScheme(item.Scheme, option); } } } var customSchemes = _config?.UrlSchemes?.GetAllCustomSchemes(); if (customSchemes != null) { foreach (var item in customSchemes) { bool isStandardScheme = UrlScheme.IsStandardScheme(item.Scheme); if (!isStandardScheme) { var option = CefSchemeOptions.Local | CefSchemeOptions.CorsEnabled; registrar.AddCustomScheme(item.Scheme, option); } } } }
protected string GetUrl(object diskDirctoryID) { UrlScheme scheme = BbsRouter.GetCurrentUrlScheme(); scheme.AttachQuery("directoryID", diskDirctoryID.ToString()); return(scheme.ToString(false)); }
protected void Page_Load(object sender, EventArgs e) { int?typeid = _Request.Get <int>("tid", Method.Get); if (typeid != null) { AdminImpressionRecordFilter filter = AdminImpressionRecordFilter.GetFromForm(); filter.TypeID = typeid.Value; UrlScheme scheme = BbsRouter.GetCurrentUrlScheme(); scheme.RemoveQuery("tid"); scheme.AttachQuery("filter", filter.ToString()); scheme.AttachQuery("page", "1"); HttpContext.Current.Response.Redirect(scheme.ToString()); } m_AdminForm = AdminImpressionRecordFilter.GetFromFilter("filter"); if (_Request.IsClick("advancedsearch")) { SearchTypes(); } else if (_Request.IsClick("deletechecked")) { DeleteChecked(); } else if (_Request.IsClick("deletesearched")) { DeleteSearch(); } using (ErrorScope es = new ErrorScope()) { int pageNumber = _Request.Get <int>("page", 0); m_RecordListPageSize = m_AdminForm.PageSize; m_RecordList = ImpressionBO.Instance.GetImpressionRecordsForAdmin(My, m_AdminForm, pageNumber); if (m_RecordList != null) { m_TotalRecordCount = m_RecordList.TotalRecords; } if (es.HasUnCatchedError) { es.CatchError <ErrorInfo>(delegate(ErrorInfo error) { ShowError(error); }); } UserBO.Instance.WaitForFillSimpleUsers <ImpressionRecord>(m_RecordList, 0); } }
/// <summary> /// The on register custom schemes. /// </summary> /// <param name="registrar"> /// The registrar. /// </param> protected override void OnRegisterCustomSchemes(CefSchemeRegistrar registrar) { var schemes = _requestSchemeProvider?.GetAllSchemes(); var schemeExes = new List <UrlSchemeEx>(); if (schemes != null && schemes.Any()) { foreach (var item in schemes) { schemeExes.Add(new UrlSchemeEx(item)); } } var schemeHandlerList = _handlersResolver?.Invoke(typeof(IChromelySchemeHandler)); if (schemeHandlerList != null && schemeHandlerList.Any()) { foreach (var handler in schemeHandlerList) { if (handler is IChromelySchemeHandler schemeHandler) { if (schemeHandler?.Scheme != null && schemeHandler.Scheme.ValidSchemeHost) { // add if not already added var firstOrDefault = schemeExes.FirstOrDefault(x => x.ValidSchemeHost && x.Scheme.ToLower().Equals(schemeHandler.Scheme.Scheme.ToLower()) && x.Host.ToLower().Equals(schemeHandler.Scheme.Host.ToLower())); if (firstOrDefault == null) { schemeExes.Add(new UrlSchemeEx(schemeHandler.Scheme, schemeHandler.IsCorsEnabled, schemeHandler.IsSecure)); } } } } } var schemeOptions = CefSchemeOptions.Local | CefSchemeOptions.Standard | CefSchemeOptions.CorsEnabled; foreach (var scheme in schemeExes) { bool isStandardScheme = UrlScheme.IsStandardScheme(scheme.Scheme); if (!isStandardScheme) { if (!scheme.IsCorsEnabled) { schemeOptions &= ~CefSchemeOptions.CorsEnabled; } if (scheme.IsSecure) { schemeOptions |= CefSchemeOptions.Secure; } registrar.AddCustomScheme(scheme.Scheme, schemeOptions); } } }
public HttpRequestResponseBase( string url, UrlScheme urlScheme, string httpMethod) { this.Url = url; this.UrlScheme = urlScheme; this.HttpMethod = httpMethod; }
public static bool IsUrlSchemeFolderResource(this UrlScheme urlScheme) { if (urlScheme is null) { return(false); } return(urlScheme.UrlSchemeType == UrlSchemeType.FolderResource); }
private string Key(UrlScheme scheme) { if (scheme == null) { return(string.Empty); } return(Key(scheme.Scheme, scheme.Host)); }
/// <summary> /// 获取搜索结果后确认跳转,后带搜索条件的参数 /// </summary> /// <param name="formName">搜索条件网址参数名称</param> /// <param name="filterValue">序列化的搜索条件值</param> public void Apply(string filterParamName, string pageParamName) { UrlScheme scheme = BbsRouter.GetCurrentUrlScheme(); scheme.AttachQuery(filterParamName, this.ToString()); scheme.AttachQuery(pageParamName, "1"); HttpContext.Current.Response.Redirect(scheme.ToString()); }
/// <inheritdoc/> public void Add(UrlScheme urlScheme) { string key = Key(urlScheme); if (!_schemeMap.ContainsKey(key)) { _schemeMap[key] = urlScheme; } }
//public RouteResult Route(string path, string query) //{ // RouteResult result = DoSubRoute(path, query, null); // if (result == null) // return s_EmptyRouteResult; // return result; //} public RouteResult Route(UrlScheme urlScheme) { RouteResult result = DoSubRoute(urlScheme, null); if (result == null) { return(s_EmptyRouteResult); } return(result); }
/// <summary> /// Registers scheme handler. /// </summary> /// <param name="ePlugSchemeHandler"> /// The blis scheme handler. /// </param> /// <returns> /// The <see cref="CefConfiguration"/> object. /// </returns> public virtual CefConfiguration RegisterSchemeHandler(SchemeHandler ePlugSchemeHandler) { if (ePlugSchemeHandler != null) { var scheme = new UrlScheme(ePlugSchemeHandler.SchemeName, ePlugSchemeHandler.DomainName, false); UrlSchemeProvider.RegisterScheme(scheme); IoC.RegisterInstance(typeof(SchemeHandler), ePlugSchemeHandler.Key, ePlugSchemeHandler); } return(this); }
/// <summary> /// Registers scheme handler. /// </summary> /// <param name="schemeHandler"> /// The chromely scheme handler. /// </param> /// <returns> /// The <see cref="ChromelyConfiguration"/> object. /// </returns> public virtual ChromelyConfiguration RegisterSchemeHandler(ChromelySchemeHandler schemeHandler) { if (schemeHandler != null) { var scheme = new UrlScheme(schemeHandler.SchemeName, schemeHandler.DomainName, UrlSchemeType.Custom); UrlSchemeProvider.RegisterScheme(scheme); IoC.RegisterInstance(typeof(ChromelySchemeHandler), schemeHandler.Key, schemeHandler); } return(this); }
private HttpResponseReceivedEventArgs2 GetHttpResponseReceivedEventArgs2(UrlScheme scheme) { var myUrl = "https://www.mywebsite.com/testpage"; return(A.Fake <HttpResponseReceivedEventArgs2>( x => x.WithArgumentsForConstructor(() => new HttpResponseReceivedEventArgs2( myUrl, scheme, "Get" )))); }
string GetDiskCenterMoveUrl(int directoryID, int sourceID) { UrlScheme scheme = BbsRouter.GetCurrentUrlScheme(); scheme.AttachQuery("dID", directoryID.ToString()); scheme.AttachQuery("SourceID", sourceID.ToString()); scheme.AttachQuery("diskDirectoryID", StringUtil.Join(directories)); scheme.AttachQuery("diskFileID", StringUtil.Join(files)); return(scheme.ToString()); }
public virtual ChromelyConfiguration RegisterSchemeHandler(ChromelySchemeHandler chromelySchemeHandler) { if (chromelySchemeHandler != null) { UrlScheme scheme = new UrlScheme(chromelySchemeHandler.SchemeName, chromelySchemeHandler.DomainName, false); UrlSchemeProvider.RegisterScheme(scheme); IoC.RegisterInstance(typeof(ChromelySchemeHandler), chromelySchemeHandler.Key, chromelySchemeHandler); } return(this); }
public bool IsSchemeRegistered(UrlScheme urlScheme) { string key = Key(urlScheme); if (!string.IsNullOrWhiteSpace(key)) { return(_handlerMap.ContainsKey(key)); } return(false); }
private static void Main(string[] args) { var inputPath = "urls.txt"; var outputPath = "urls.xml"; var provider = new TextFileUrlProvider(inputPath); var parser = new UrlScheme(); var writer = new XmlUrlWriter(outputPath); var worker = new UrlWorker <UrlScheme>(provider, parser, writer, new Logger()); worker.Convert(); Console.Read(); }
protected string GetStatusUrl(string status) { //NameValueCollection param = new NameValueCollection(); //param.Add("status", status); //return BbsRouter.GetUrl("friend/invite", ) + UrlUtil.AttachQueryString(param, true, "page", "filter"); UrlScheme scheme = BbsRouter.GetCurrentUrlScheme(); scheme.RemoveQuery("page"); scheme.RemoveQuery("filter"); scheme.AttachQuery("status", status); return(scheme.ToString()); }
public IResourceHandler GetHandler(UrlScheme urlScheme) { string key = Key(urlScheme); if (!string.IsNullOrWhiteSpace(key)) { if (_handlerMap.ContainsKey(key)) { return(_handlerMap[key].Item2); } } return(null); }
public void Add(UrlScheme urlScheme, IResourceHandler handler) { if (handler != null) { string key = Key(urlScheme); if (!string.IsNullOrWhiteSpace(key)) { if (!_handlerMap.ContainsKey(key)) { _handlerMap[key] = new Tuple <UrlScheme, IResourceHandler>(urlScheme, handler); } } } }
public static string GetResourceFolderFile(this UrlScheme urlScheme, string routePath) { if (urlScheme is null || string.IsNullOrWhiteSpace(urlScheme.Folder) || string.IsNullOrWhiteSpace(routePath)) { return(string.Empty); } var folder = urlScheme.Folder.TrimEnd(FORWARDSLASH).TrimEnd(BACKWARDSLASH).Replace(FORWARDSLASH, Path.DirectorySeparatorChar).Replace(BACKWARDSLASH, Path.DirectorySeparatorChar); routePath = routePath.TrimStart(FORWARDSLASH).TrimStart(BACKWARDSLASH).Replace(FORWARDSLASH, Path.DirectorySeparatorChar).Replace(BACKWARDSLASH, Path.DirectorySeparatorChar); return($"{folder}{Path.DirectorySeparatorChar}{routePath}"); }
public void Add(string scheme, string host, UrlSchemeType urlSchemeType, IResourceHandler handler) { if (handler != null) { string key = Key(scheme, host); if (!string.IsNullOrWhiteSpace(key)) { if (!_handlerMap.ContainsKey(key)) { var urlScheme = new UrlScheme(scheme, host, string.Empty, urlSchemeType); _handlerMap[key] = new Tuple <UrlScheme, IResourceHandler>(urlScheme, handler); } } } }
public static List <UrlScheme> GetHandleCollections(List <UrlSchemeLocal> urlSchemeLocals) { var urlSchemes = new List <UrlScheme>(); if (urlSchemeLocals == null || !urlSchemeLocals.Any()) { return(urlSchemes); } foreach (var item in urlSchemeLocals) { var urlScheme = new UrlScheme(item.name, item.scheme, item.host, item.baseUrl, GetType(item.urlSchemeType), item.baseUrlStrict); urlSchemes.Add(urlScheme); } return(urlSchemes); }
//public RouteResult Route(string path, string query) //{ // RouteResult result = DoSubRoute(path, query, null); // if (result == null) // return s_EmptyRouteResult; // return result; //} public RouteResult Route(UrlScheme urlScheme) { RouteResult result = DoSubRoute(urlScheme, null); if (result == null) return s_EmptyRouteResult; return result; }
private RouteResult DoSubRoute(UrlScheme urlScheme, MatchChainNode previousMatch) { RouteResult result = null; int startIndex = 0; if (previousMatch != null) startIndex = previousMatch.Match.Index + previousMatch.Match.Length; if (Childs != null) { if (m_BasePathPatternRegex != null) { Match match = m_BasePathPatternRegex.Match(urlScheme.Main, startIndex); if (match.Success && match.Index + match.Length < urlScheme.Main.Length) { MatchChainNode matchWrap = new MatchChainNode(previousMatch, m_BasePathPatternRegex, match); foreach (RouteTable child in Childs) { result = child.DoSubRoute(urlScheme, matchWrap); if (result != null) break; } } } else { foreach (RouteTable child in Childs) { result = child.Route(urlScheme); if (result.Succeed) break; } } } else if (m_FriendlyPathPatternRegex != null) { Match match = m_FriendlyPathPatternRegex.Match(urlScheme.Main, startIndex); if (match.Success) { MatchChainNode matchWrap = new MatchChainNode(previousMatch, m_FriendlyPathPatternRegex, match); string originalPath = CreateOriginalPath(urlScheme.Main, urlScheme.QueryString, matchWrap); result = new RouteResult(originalPath); } } else { string resultString = OriginalPathBuilder(urlScheme); if (string.IsNullOrEmpty(resultString)) return new RouteResult(); else return new RouteResult(resultString); } return result; }