/ Published in: C#
Expand |
Embed | Plain Text
/// <summary> /// Parses REST data from a url. /// </summary> /// <param name="Request">he Request object</param> /// <param name="Match">A url pattern to match. Example: /{Department}/{ID}</param> /// <returns>A dictionary of values matched to the pattern position</returns> public static StringDictionary GetRESTData(this HttpRequest Request, string UrlPattern) { string query = Request.PathInfo; if (UrlPattern.StartsWith("/")) UrlPattern = UrlPattern.Substring(1); string[] matchParms = UrlPattern.Split('/'); if (query.StartsWith("/")) query = query.Substring(1); string[] urlPath = query.Split('/'); for (int i = 0; i < matchParms.Length; i++) { string parm = matchParms[i]; bool hasData = urlPath.Length > i; bool hasParm = parm.StartsWith("{") && parm.EndsWith("}"); if (hasData && hasParm) { var p = parm.Substring(1, parm.Length - 2); parms[p] = urlPath[i]; } } return parms; }
You need to login to post a comment.
