Esempio n. 1
0
        /// <summary>
        /// Get a suffix.
        /// </summary>
        /// <param name="index">Index of path suffix.</param>
        /// <param name="format">Uri path format.</param>
        /// <returns>Suffix.</returns>
        public string GetSuffix(int index, UriPathFormat format)
        {
            EnsureFeatureIsSet();
            string suffix = _suffixes[index];

            switch (format)
            {
            case UriPathFormat.Original:
                return(suffix);

            case UriPathFormat.Decoded:
                return(XUri.Decode(suffix));

            case UriPathFormat.Normalized:
                return(XUri.Decode(suffix).ToLowerInvariant());

            default:
                throw new ArgumentException("format");
            }
        }
Esempio n. 2
0
File: XUri.cs Progetto: heran/DReAM
 //--- Methods ---
 /// <summary>
 /// Get all segments.
 /// </summary>
 /// <param name="format">Encoding format for segments.</param>
 /// <returns>Array of segments.</returns>
 public string[] GetSegments(UriPathFormat format)
 {
     string[] result;
     switch(format) {
     case UriPathFormat.Original:
         result = _segments;
         break;
     case UriPathFormat.Decoded:
         result = new string[_segments.Length];
         for(int i = 0; i < result.Length; ++i) {
             result[i] = Decode(_segments[i]);
         }
         break;
     case UriPathFormat.Normalized:
         result = new string[_segments.Length];
         for(int i = 0; i < result.Length; ++i) {
             result[i] = Decode(_segments[i]).ToLowerInvariant();
         }
         break;
     default:
         throw new ArgumentException("format");
     }
     return result;
 }
Esempio n. 3
0
File: XUri.cs Progetto: heran/DReAM
 /// <summary>
 /// Get one segment.
 /// </summary>
 /// <param name="index">Index of segment.</param>
 /// <param name="format">Encoding format for segments.</param>
 /// <returns>Segment string.</returns>
 public string GetSegment(int index, UriPathFormat format)
 {
     string result = _segments[index];
     switch(format) {
     case UriPathFormat.Original:
         break;
     case UriPathFormat.Decoded:
         result = Decode(result);
         break;
     case UriPathFormat.Normalized:
         result = Decode(result).ToLowerInvariant();
         break;
     default:
         throw new ArgumentException("format");
     }
     return result;
 }