Example #1
0
 public static void Assert(bool condition)
 {
     if (!condition)
     {
         NephosAssertionException.Fail();
     }
 }
Example #2
0
 public static void Assert(bool condition, string message, Exception innerException)
 {
     if (!condition)
     {
         NephosAssertionException.Fail(message, innerException);
     }
 }
Example #3
0
        public static string ConvertDateTimeToHttpString(DateTime dt)
        {
            if (dt != DateTime.MaxValue && dt != DateTime.MinValue)
            {
                NephosAssertionException.Assert(dt.Kind == DateTimeKind.Utc);
            }
            StringBuilder stringBuilder = StringBuilderPool.Allocate();

            stringBuilder.Append(HttpUtilities.DaysOfWeek[(int)dt.DayOfWeek]);
            stringBuilder.Append(", ");
            HttpUtilities.AppendDigits(stringBuilder, (long)dt.Day, (long)10);
            stringBuilder.Append(' ');
            stringBuilder.Append(HttpUtilities.MonthsOfYear[dt.Month]);
            stringBuilder.Append(' ');
            HttpUtilities.AppendDigits(stringBuilder, (long)dt.Year, (long)1000);
            stringBuilder.Append(' ');
            HttpUtilities.AppendDigits(stringBuilder, (long)dt.Hour, (long)10);
            stringBuilder.Append(':');
            HttpUtilities.AppendDigits(stringBuilder, (long)dt.Minute, (long)10);
            stringBuilder.Append(':');
            HttpUtilities.AppendDigits(stringBuilder, (long)dt.Second, (long)10);
            stringBuilder.Append(" GMT");
            string str = stringBuilder.ToString();

            StringBuilderPool.Release(stringBuilder);
            return(str);
        }
Example #4
0
 public static void Assert(bool condition, string format, params object[] args)
 {
     if (!condition)
     {
         NephosAssertionException.Fail(format, args);
     }
 }
Example #5
0
        public static string ConvertSnapshotDateTimeToHttpString(DateTime dt)
        {
            if (dt != DateTime.MaxValue && dt != DateTime.MinValue)
            {
                NephosAssertionException.Assert(dt.Kind == DateTimeKind.Utc);
            }
            StringBuilder stringBuilder = StringBuilderPool.Allocate();

            HttpUtilities.AppendDigits(stringBuilder, (long)dt.Year, (long)1000);
            stringBuilder.Append('-');
            HttpUtilities.AppendDigits(stringBuilder, (long)dt.Month, (long)10);
            stringBuilder.Append('-');
            HttpUtilities.AppendDigits(stringBuilder, (long)dt.Day, (long)10);
            stringBuilder.Append('T');
            HttpUtilities.AppendDigits(stringBuilder, (long)dt.Hour, (long)10);
            stringBuilder.Append(':');
            HttpUtilities.AppendDigits(stringBuilder, (long)dt.Minute, (long)10);
            stringBuilder.Append(':');
            HttpUtilities.AppendDigits(stringBuilder, (long)dt.Second, (long)10);
            stringBuilder.Append('.');
            HttpUtilities.AppendDigits(stringBuilder, dt.Ticks % (long)10000000, (long)1000000);
            stringBuilder.Append('Z');
            string str = stringBuilder.ToString();

            StringBuilderPool.Release(stringBuilder);
            return(str);
        }
Example #6
0
 public static void Assert(bool condition, string format, Func <string, string, string> preFormatFunc, string preFormatArg1, string preFormatArg2)
 {
     if (!condition)
     {
         object[] objArray = new object[] { preFormatFunc(preFormatArg1, preFormatArg2) };
         NephosAssertionException.Fail(format, objArray);
     }
 }
Example #7
0
        public static string CanonicalizeHttpRequestVer1(Uri address, NephosUriComponents uriComponents, string method, string contentEncoding, string contentLanguage, string contentLength, string contentMD5, string contentType, string date, string ifModifiedSince, string ifMatch, string ifNoneMatch, string ifUnmodifiedSince, string range, NameValueCollection headers, bool isFileService = false, string rawUrl = null, bool multipleConditionalHeadersEnabled = false)
        {
            NephosAssertionException.Assert(address != null);
            NephosAssertionException.Assert(uriComponents != null);
            NephosAssertionException.Assert(!string.IsNullOrEmpty(method));
            NephosAssertionException.Assert(headers != null);
            MessageCanonicalizer.CanonicalizedString canonicalizedString = new MessageCanonicalizer.CanonicalizedString(method);
            canonicalizedString.AppendCanonicalizedElement(contentEncoding ?? string.Empty);
            canonicalizedString.AppendCanonicalizedElement(contentLanguage ?? string.Empty);
            if (contentLength == null || !MessageCanonicalizer.IsVersionBeforeFeb15(headers) && contentLength.Equals("0"))
            {
                canonicalizedString.AppendCanonicalizedElement(string.Empty);
            }
            else
            {
                canonicalizedString.AppendCanonicalizedElement(contentLength);
            }
            canonicalizedString.AppendCanonicalizedElement(contentMD5 ?? string.Empty);
            canonicalizedString.AppendCanonicalizedElement(contentType ?? string.Empty);
            if (headers["x-ms-date"] != null)
            {
                canonicalizedString.AppendCanonicalizedElement(string.Empty);
            }
            else
            {
                canonicalizedString.AppendCanonicalizedElement(date ?? string.Empty);
            }
            canonicalizedString.AppendCanonicalizedElement(ifModifiedSince ?? string.Empty);
            canonicalizedString.AppendCanonicalizedElement(ifMatch ?? string.Empty);
            canonicalizedString.AppendCanonicalizedElement(ifNoneMatch ?? string.Empty);
            canonicalizedString.AppendCanonicalizedElement(ifUnmodifiedSince ?? string.Empty);
            canonicalizedString.AppendCanonicalizedElement(range ?? string.Empty);
            ArrayList arrayLists = new ArrayList();

            foreach (string key in headers.Keys)
            {
                if (key == null || !key.ToLowerInvariant().StartsWith("x-ms-", StringComparison.Ordinal))
                {
                    continue;
                }
                arrayLists.Add(key.ToLowerInvariant());
            }
            arrayLists.Sort();
            foreach (string arrayList in arrayLists)
            {
                string canonicalizedHeaderValueVer1 = MessageCanonicalizer.GetCanonicalizedHeaderValueVer1(headers, arrayList, multipleConditionalHeadersEnabled);
                if (string.IsNullOrEmpty(canonicalizedHeaderValueVer1) && !isFileService && MessageCanonicalizer.IsVersionBeforeFeb16(headers["x-ms-version"]))
                {
                    continue;
                }
                StringBuilder stringBuilder = new StringBuilder(arrayList);
                stringBuilder.Append(":");
                stringBuilder.Append(canonicalizedHeaderValueVer1);
                canonicalizedString.AppendCanonicalizedElement(stringBuilder.ToString());
            }
            canonicalizedString.AppendCanonicalizedElement(MessageCanonicalizer.GetCanonicalizedResourceVer1(address, uriComponents, rawUrl));
            return(canonicalizedString.Value);
        }
Example #8
0
 public static string DecodeContinuationToken(string continuationToken)
 {
     string[] strArrays = ContinuationTokenParser.DecodeContinuationToken(continuationToken, new List <ContinuationTokenVersion>()
     {
         ContinuationTokenVersion.VersionOne
     });
     NephosAssertionException.Assert((int)strArrays.Length == 1);
     return(strArrays[0]);
 }
Example #9
0
        private static Uri ConstructHostStyleAccountUri(Uri hostSuffix, string accountName)
        {
            NephosAssertionException.Assert(hostSuffix.AbsolutePath == "/", "hostSuffix can't have path.");
            Uri         uri = hostSuffix;
            CultureInfo invariantCulture = CultureInfo.InvariantCulture;

            object[] scheme = new object[] { uri.Scheme, Uri.SchemeDelimiter, accountName, uri.Host, uri.Port };
            return(new Uri(string.Format(invariantCulture, "{0}{1}{2}.{3}:{4}/", scheme)));
        }
Example #10
0
 public static Uri ConstructNephosUri(Uri endpoint, NephosUriComponents uriComponents, bool pathStyleUri)
 {
     NephosAssertionException.Assert(endpoint != null);
     NephosAssertionException.Assert(uriComponents != null);
     if (!pathStyleUri)
     {
         return(HttpRequestAccessorJuly09.ConstructHostStyleNephosUri(endpoint, uriComponents));
     }
     return(HttpRequestAccessorJuly09.ConstructPathStyleNephosUri(endpoint, uriComponents));
 }
Example #11
0
        public static T ConvertFromString <T>(string data, char[] separators)
        {
            string[] strArrays = data.Split(separators);
            NephosAssertionException.Assert((int)strArrays.Length > 0, "Enum value cannot be empty");
            int num = 0;

            for (int i = 0; i < (int)strArrays.Length; i++)
            {
                num |= (int)Enum.Parse(typeof(T), strArrays[i]);
            }
            return((T)Enum.ToObject(typeof(T), num));
        }
Example #12
0
        public static byte[] Encode(NameValueCollection metadata)
        {
            if (metadata == null)
            {
                throw new ArgumentNullException("metadata");
            }
            int length = 0;

            string[] allKeys = metadata.AllKeys;
            for (int i = 0; i < (int)allKeys.Length; i++)
            {
                string str = allKeys[i];
                length = length + str.Length + 1 + metadata[str].Length + Environment.NewLine.Length;
            }
            byte[]   numArray = new byte[length];
            int      bytes    = 0;
            Encoding encoding = MetadataEncoding.CreateAsciiEncoder();

            try
            {
                for (int j = 0; j < metadata.Count; j++)
                {
                    string item = metadata.Keys[j];
                    try
                    {
                        bytes += encoding.GetBytes(item, 0, item.Length, numArray, bytes);
                    }
                    catch (EncoderFallbackException encoderFallbackException)
                    {
                        throw new MetadataFormatException(string.Concat("Metadata key is not valid ASCII: ", item), encoderFallbackException);
                    }
                    bytes += encoding.GetBytes(":", 0, 1, numArray, bytes);
                    string item1 = metadata[j];
                    try
                    {
                        bytes += encoding.GetBytes(item1, 0, item1.Length, numArray, bytes);
                    }
                    catch (EncoderFallbackException encoderFallbackException1)
                    {
                        throw new MetadataFormatException(string.Concat("Metadata value is not valid ASCII: ", item1), encoderFallbackException1);
                    }
                    bytes += encoding.GetBytes(Environment.NewLine, 0, Environment.NewLine.Length, numArray, bytes);
                }
            }
            catch (ArgumentException argumentException)
            {
                NephosAssertionException.Fail("Byte array not long enough to encode metadata", argumentException);
            }
            return(numArray);
        }
Example #13
0
        public static string GetCanonicalizedResourceVer1(Uri uri, NephosUriComponents uriComponents, string rawUrl = null)
        {
            NephosAssertionException.Assert((uriComponents == null ? false : !string.IsNullOrEmpty(uriComponents.AccountName)), "Resource account name must be non-empty.");
            StringBuilder stringBuilder = new StringBuilder("/");

            stringBuilder.Append(uriComponents.AccountName);
            string uriStringToSign = MessageCanonicalizer.GetUriStringToSign(uri.AbsolutePath, rawUrl);

            stringBuilder.Append(MessageCanonicalizer.GetUriWithoutSecondarySuffix(uriStringToSign, uriComponents));
            MessageCanonicalizer.CanonicalizedString canonicalizedString = new MessageCanonicalizer.CanonicalizedString(stringBuilder.ToString());
            NameValueCollection nameValueCollection  = HttpUtility.ParseQueryString(uri.Query);
            NameValueCollection nameValueCollection1 = new NameValueCollection();

            foreach (string key in nameValueCollection.Keys)
            {
                object[] values = nameValueCollection.GetValues(key);
                Array.Sort <object>(values);
                StringBuilder stringBuilder1 = new StringBuilder();
                object[]      objArray       = values;
                for (int i = 0; i < (int)objArray.Length; i++)
                {
                    object obj = objArray[i];
                    if (stringBuilder1.Length > 0)
                    {
                        stringBuilder1.Append(",");
                    }
                    stringBuilder1.Append(obj.ToString());
                }
                nameValueCollection1.Add((key == null ? key : key.ToLowerInvariant()), stringBuilder1.ToString());
            }
            string[] allKeys = nameValueCollection1.AllKeys;
            Array.Sort <string>(allKeys);
            string[] strArrays = allKeys;
            for (int j = 0; j < (int)strArrays.Length; j++)
            {
                string        str            = strArrays[j];
                StringBuilder stringBuilder2 = new StringBuilder(string.Empty);
                stringBuilder2.Append(str);
                stringBuilder2.Append(":");
                stringBuilder2.Append(nameValueCollection1[str]);
                canonicalizedString.AppendCanonicalizedElement(stringBuilder2.ToString());
            }
            return(canonicalizedString.Value);
        }
Example #14
0
        public static string GetCanonicalizedResource(Uri address, NephosUriComponents uriComponents, string rawUrl = null)
        {
            NephosAssertionException.Assert(!string.IsNullOrEmpty(uriComponents.AccountName), "Resource account name must be non-empty.");
            StringBuilder stringBuilder = new StringBuilder("/");

            stringBuilder.Append(uriComponents.AccountName);
            string uriStringToSign = MessageCanonicalizer.GetUriStringToSign(address.AbsolutePath, rawUrl);

            stringBuilder.Append(MessageCanonicalizer.GetUriWithoutSecondarySuffix(uriStringToSign, uriComponents));
            string item = HttpUtility.ParseQueryString(address.Query)["comp"];

            if (item != null)
            {
                stringBuilder.Append("?");
                stringBuilder.Append("comp");
                stringBuilder.Append("=");
                stringBuilder.Append(item);
            }
            return(stringBuilder.ToString());
        }
Example #15
0
        public static NephosUriComponents GetCopySourceResourceComponents(string resource)
        {
            string str = HttpUtility.UrlDecode(resource);

            if (!str.StartsWith("/", StringComparison.OrdinalIgnoreCase))
            {
                return(null);
            }
            string[] strArrays  = new string[] { "/" };
            string[] strArrays1 = str.Split(strArrays, 4, StringSplitOptions.None);
            NephosAssertionException.Assert(((int)strArrays1.Length < 2 || (int)strArrays1.Length > 4 ? false : strArrays1[0] == string.Empty));
            if ((int)strArrays1.Length == 2)
            {
                return(new NephosUriComponents(strArrays1[1]));
            }
            if ((int)strArrays1.Length == 3)
            {
                return(new NephosUriComponents(strArrays1[1], strArrays1[2]));
            }
            return(new NephosUriComponents(strArrays1[1], strArrays1[2], strArrays1[3]));
        }
Example #16
0
 public static Uri ConstructStorageDomainUri(Uri endpoint, NephosUriComponents uriComponents)
 {
     NephosAssertionException.Assert(endpoint != null);
     NephosAssertionException.Assert(uriComponents != null);
     return(HttpRequestAccessorJuly09.ConstructStorageDomainStyleNephosUri(endpoint, uriComponents));
 }
Example #17
0
 public static int CompareVersions(string version1, string version2)
 {
     NephosAssertionException.Assert(!string.IsNullOrEmpty(version1));
     NephosAssertionException.Assert(!string.IsNullOrEmpty(version2));
     if (version1.Equals("2008-10-27", StringComparison.InvariantCulture))
     {
         if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase))
         {
             return(0);
         }
         return(-1);
     }
     if (version1.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase))
     {
         if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase))
         {
             return(1);
         }
         if (version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase))
         {
             return(0);
         }
         return(-1);
     }
     if (version1.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase))
     {
         if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase))
         {
             return(1);
         }
         if (version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase))
         {
             return(0);
         }
         return(-1);
     }
     if (version1.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase))
     {
         if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase))
         {
             return(1);
         }
         if (version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase))
         {
             return(0);
         }
         return(-1);
     }
     if (version1.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase))
     {
         if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase))
         {
             return(1);
         }
         if (version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase))
         {
             return(0);
         }
         return(-1);
     }
     if (version1.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase))
     {
         if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase))
         {
             return(1);
         }
         if (version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase))
         {
             return(0);
         }
         return(-1);
     }
     if (version1.Equals("2012-09-19", StringComparison.InvariantCultureIgnoreCase))
     {
         if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase))
         {
             return(1);
         }
         if (version2.Equals("2012-09-19", StringComparison.InvariantCultureIgnoreCase))
         {
             return(0);
         }
         return(-1);
     }
     if (version1.Equals("2013-07-14", StringComparison.InvariantCultureIgnoreCase))
     {
         if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase))
         {
             return(1);
         }
         if (version2.Equals("2013-07-14", StringComparison.InvariantCultureIgnoreCase))
         {
             return(0);
         }
         return(-1);
     }
     if (version1.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase))
     {
         if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase))
         {
             return(1);
         }
         if (version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase))
         {
             return(0);
         }
         return(-1);
     }
     if (version1.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase))
     {
         if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase))
         {
             return(1);
         }
         if (version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase))
         {
             return(0);
         }
         return(-1);
     }
     if (version1.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase))
     {
         if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase))
         {
             return(1);
         }
         if (version2.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase))
         {
             return(0);
         }
         return(-1);
     }
     if (version1.Equals("2015-04-05", StringComparison.InvariantCultureIgnoreCase))
     {
         if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase))
         {
             return(1);
         }
         if (version2.Equals("2015-04-05", StringComparison.InvariantCultureIgnoreCase))
         {
             return(0);
         }
         return(-1);
     }
     if (version1.Equals("2015-07-08", StringComparison.InvariantCultureIgnoreCase))
     {
         if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-04-05", StringComparison.InvariantCultureIgnoreCase))
         {
             return(1);
         }
         if (version2.Equals("2015-07-08", StringComparison.InvariantCultureIgnoreCase))
         {
             return(0);
         }
         return(-1);
     }
     if (version1.Equals("2015-12-11", StringComparison.InvariantCultureIgnoreCase))
     {
         if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-04-05", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-07-08", StringComparison.InvariantCultureIgnoreCase))
         {
             return(1);
         }
         if (version2.Equals("2015-12-11", StringComparison.InvariantCultureIgnoreCase))
         {
             return(0);
         }
         return(-1);
     }
     if (version1.Equals("2016-02-19", StringComparison.InvariantCultureIgnoreCase))
     {
         if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-04-05", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-07-08", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-12-11", StringComparison.InvariantCultureIgnoreCase))
         {
             return(1);
         }
         if (version2.Equals("2016-02-19", StringComparison.InvariantCultureIgnoreCase))
         {
             return(0);
         }
         return(-1);
     }
     if (version1.Equals("2016-05-31", StringComparison.InvariantCultureIgnoreCase))
     {
         if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-04-05", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-07-08", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-12-11", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2016-02-19", StringComparison.InvariantCultureIgnoreCase))
         {
             return(1);
         }
         if (version2.Equals("2016-05-31", StringComparison.InvariantCultureIgnoreCase))
         {
             return(0);
         }
         return(-1);
     }
     if (version1.Equals("2016-10-16", StringComparison.InvariantCultureIgnoreCase))
     {
         if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-04-05", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-07-08", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-12-11", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2016-02-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2016-05-31", StringComparison.InvariantCultureIgnoreCase))
         {
             return(1);
         }
         if (version2.Equals("2016-10-16", StringComparison.InvariantCultureIgnoreCase))
         {
             return(0);
         }
         return(-1);
     }
     if (!version1.Equals("2017-04-17", StringComparison.InvariantCultureIgnoreCase))
     {
         NephosAssertionException.Fail("version1 = '{0}' is an invalid version.", new object[] { version1 });
         NephosAssertionException.Fail("Should never get to this point in VersioningHelper.CompareVersions. This is a coding bug.");
         return(0);
     }
     if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-04-05", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-07-08", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-12-11", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2016-02-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2016-05-31", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2016-10-16", StringComparison.InvariantCultureIgnoreCase))
     {
         return(1);
     }
     if (version2.Equals("2017-04-17", StringComparison.InvariantCultureIgnoreCase))
     {
         return(0);
     }
     return(-1);
 }
Example #18
0
 private static string QueryWithoutQuestionMark(string query)
 {
     NephosAssertionException.Assert(query[0] == "?"[0], "Uri.Query should include the question mark with the query parameters");
     return(query.Substring(1));
 }
Example #19
0
        public static string[] DecodeContinuationToken(string continuationToken, List <ContinuationTokenVersion> supportedVersions, bool isOriginalVersionSupported, out ContinuationTokenVersion continuationTokenVersion)
        {
            string[] strArrays;
            if (supportedVersions == null || supportedVersions.Count <= 0)
            {
                throw new ArgumentException("The supported versions cannot be null and must contain at least one version.", "supportedVersions");
            }
            if (string.IsNullOrEmpty(continuationToken))
            {
                throw new ArgumentException("The continuation token cannot be null or empty.", "continuationToken");
            }
            continuationTokenVersion = ContinuationTokenVersion.None;
            try
            {
                if (Regex.IsMatch(continuationToken, "^(\\d+)!(\\d+)!"))
                {
                    char[]   chrArray   = new char[] { '!' };
                    string[] strArrays1 = continuationToken.Split(chrArray, 3, StringSplitOptions.None);
                    if ((int)strArrays1.Length != 3)
                    {
                        throw new ContinuationTokenParserException(string.Format("Did find expected number of tokens ({0}).", 3), "continuationToken");
                    }
                    continuationTokenVersion = (ContinuationTokenVersion)Convert.ToInt32(strArrays1[0]);
                    if (!supportedVersions.Contains((ContinuationTokenVersion)((int)continuationTokenVersion)))
                    {
                        string str = "[";
                        int    num = 0;
                        foreach (ContinuationTokenVersion supportedVersion in supportedVersions)
                        {
                            str = string.Concat(str, supportedVersion.ToString());
                            if (num < supportedVersions.Count - 1)
                            {
                                str = string.Concat(str, ", ");
                            }
                            num++;
                        }
                        str = string.Concat(str, "]");
                        throw new ContinuationTokenParserException(string.Format("The version found ({0}) is not in the list of supported versions; supported versions = {1}.", (ContinuationTokenVersion)((int)continuationTokenVersion), str));
                    }
                    switch ((int)continuationTokenVersion)
                    {
                    case 1:
                    {
                        strArrays = ContinuationTokenParser.DecodeContinuationTokenV1(strArrays1);
                        return(strArrays);
                    }

                    case 2:
                    {
                        strArrays = ContinuationTokenParser.DecodeContinuationTokenV2(strArrays1);
                        return(strArrays);
                    }
                    }
                    object[] objArray = new object[] { (ContinuationTokenVersion)((int)continuationTokenVersion) };
                    NephosAssertionException.Fail("Internal error: Version {0} is invalid.", objArray);
                    strArrays = null;
                }
                else
                {
                    if (!isOriginalVersionSupported)
                    {
                        throw new ContinuationTokenParserException("Proper header format not found.", "continuationToken");
                    }
                    Logger <IRestProtocolHeadLogger> .Instance.Verbose.Log("Received continuation token in original PDC2008 format. Token = '{0}'", new object[] { continuationToken });

                    strArrays = new string[] { continuationToken };
                }
            }
            catch (ContinuationTokenParserException continuationTokenParserException1)
            {
                ContinuationTokenParserException continuationTokenParserException = continuationTokenParserException1;
                IStringDataEventStream           error = Logger <IRestProtocolHeadLogger> .Instance.Error;
                object[] objArray1 = new object[] { (ContinuationTokenVersion)((int)continuationTokenVersion), continuationToken };
                error.Log("Error decoding continuation token with version {0} and value {1}", objArray1);
                throw new ContinuationTokenParserException(string.Format("Caught an exception when decoding a {0} continuation token. Continuation token = '{1}'.", (ContinuationTokenVersion)((int)continuationTokenVersion), continuationToken), continuationTokenParserException);
            }
            return(strArrays);
        }
Example #20
0
 public static void Assert(bool condition, string message)
 {
     NephosAssertionException.Assert(condition, message, (Exception)null);
 }