/// <summary> /// 通过对应的数据获取到值 /// </summary> /// <param name="httpContext"></param> /// <returns></returns> public RouteData GetRouteData(TransferBaseContext httpContext) { if (!String.IsNullOrWhiteSpace(ignore) && Regex.IsMatch(httpContext.Request.Url.ToString(), ignore)) { return(null); } foreach (var route in this.Values) { RouteData routeData = route.GetRouteData(httpContext); if (routeData != null) { return(routeData); } } return(null); }
public void Init(TransferBaseContext context) { RouteData routeData = RouteTable.Routes.GetRouteData(context); if (routeData == null) { return; } RequestContext request = new RequestContext() { Context = context, RouteData = routeData }; IApiHandler handler = routeData.RouteHandler.GetApiHandler(request); handler.ProcessRequest(); }
public override RouteData GetRouteData(TransferBaseContext httpContext) { IDictionary <String, Object> values = null; if (IsMatch(httpContext.Request.Path, out values)) { RouteData routeData = new RouteData(); routeData.RouteHandler = this.RouteHandler; foreach (var item in values) { routeData.Values.Add(item.Key, item.Value.ToString()); } routeData.QueryString.Add(httpContext.Request.QueryString); routeData.Headers.Add(httpContext.Request.Headers); routeData.Params.Add(httpContext.Request.Params); return(routeData); } return(null); }
public abstract RouteData GetRouteData(TransferBaseContext httpContext);