コード例 #1
0
 /// <summary>
 /// Parses URI segments.
 /// </summary>
 /// <param name="myUri">SimpleURI object.</param>
 /// <param name="uri">System.Uri object.</param>
 private static void ParseSegments(SimpleURI myUri, Uri uri)
 {
     for (var i = 1; i < uri.Segments.Length; i++)
     {
         myUri.Segments.Add(uri.Segments[i].Replace("/", string.Empty));
     }
 }
コード例 #2
0
        /// <summary>
        /// Parses SimpleURI from string.
        /// </summary>
        /// <param name="uriString">String representation of URI.</param>
        /// <returns>SimpleURI object.</returns>
        private static SimpleURI ToSimpleURI(this string uriString)
        {
            var uri   = new Uri(uriString);
            var myUri = new SimpleURI(uri.Scheme, uri.Host);

            ParseSegments(myUri, uri);
            ParseParameters(myUri, uri);
            return(myUri);
        }
コード例 #3
0
 /// <summary>
 /// Converts SimpleURI to DTOSimpleURI.
 /// </summary>
 /// <param name="simpleURI">SimpleURI object.</param>
 /// <returns>DTOSimpleURI object.</returns>
 public static DTOSimpleURI ToDTOSimpleURI(this SimpleURI simpleURI)
 {
     return(new DTOSimpleURI
     {
         Scheme = simpleURI.Scheme,
         Host = simpleURI.Host,
         Segments = simpleURI.Segments,
         Parameters = simpleURI.Parameters
     });
 }
コード例 #4
0
        /// <summary>
        /// Parses URI parameters.
        /// </summary>
        /// <param name="myUri">SimpleURI object.</param>
        /// <param name="uri">System.Uri object.</param>
        private static void ParseParameters(SimpleURI myUri, Uri uri)
        {
            var query = uri.Query;

            if (query != string.Empty)
            {
                query = query.Substring(1);

                foreach (var param in query.Split('&'))
                {
                    var index = param.IndexOf('=');
                    var key   = param.Substring(0, index);
                    var value = param.Substring(index + 1);
                    myUri.Parameters.Add(key, value);
                }
            }
        }