public override INode Find(INodeResolver resolver, string uri, NodeType nodeType, FileSystemOptions options)
		{
			var address = LayeredNodeAddress.Parse(uri);

			if (address.Port >= 0 || address.UserName != "" || address.Password != "" || address.ServerName != "")
			{
				throw new MalformedUriException(uri, "Network & Authentication information not permitted");
			}

			if (nodeType.Is(typeof(IFile)))
			{
				var uri2 = address.InnerUri;

				if (StringUriUtils.ContainsQuery(uri2))
				{
					uri2 += "&shadow=true";
				}
				else
				{
					uri2 += "?shadow=true";
				}

				return resolver.Resolve(uri2, nodeType);
			}

			return resolver.Resolve(address.InnerUri);
		}
Esempio n. 2
0
        public override INode Find(INodeResolver resolver, string uri, NodeType nodeType, FileSystemOptions options)
        {
            var address = LayeredNodeAddress.Parse(uri);

            if (address.Port >= 0 || address.UserName != "" || address.Password != "" || address.ServerName != "")
            {
                throw new MalformedUriException(uri, "Network & Authentication information not permitted");
            }

            if (nodeType.Is(typeof(IFile)))
            {
                var uri2 = address.InnerUri;

                if (StringUriUtils.ContainsQuery(uri2))
                {
                    uri2 += "&shadow=true";
                }
                else
                {
                    uri2 += "?shadow=true";
                }

                return(resolver.Resolve(uri2, nodeType));
            }

            return(resolver.Resolve(address.InnerUri));
        }