public IRequest Create(IEnumerable<string> requestLines, MountPoint mount, string vpath) { if (vpath == null) throw new ArgumentNullException("vpath"); var request = new Request { MountPoint = mount, VirtualPath = vpath }; PopulateRequestPostedData(request, requestLines); PopulateRequestHeaders(request, requestLines); PopulateRequestQueryStringValues(request, vpath); return request; }
public static bool MountContainsPath(MountPoint mount, string virtualPath) { if (virtualPath.StartsWith(mount.VirtualPath, StringComparison.OrdinalIgnoreCase)) { if (mount.VirtualPath.Length == virtualPath.Length) { return true; } var remainingPath = virtualPath.Substring(mount.VirtualPath.Length); return remainingPath.Length == 0 || remainingPath[0] == '/' || remainingPath[0] == '?' || remainingPath[0] == '#'; } return false; }