コード例 #1
0
ファイル: StringBuilderExtTests.cs プロジェクト: ywscr/NLog
        void TestAppendXmlDateTimeRoundTripUndefined(DateTime input)
        {
            StringBuilder sb = new StringBuilder();

            StringBuilderExt.AppendXmlDateTimeRoundTrip(sb, input);
            Assert.Equal(System.Xml.XmlConvert.ToString(input, System.Xml.XmlDateTimeSerializationMode.Utc), sb.ToString());
        }
コード例 #2
0
ファイル: StringBuilderExtTests.cs プロジェクト: ywscr/NLog
        void TestAppendXmlDateTimeRoundTripLocal(DateTime input)
        {
            input = new DateTime(input.Ticks, DateTimeKind.Local);
            StringBuilder sb = new StringBuilder();

            StringBuilderExt.AppendXmlDateTimeRoundTrip(sb, input);
            Assert.Equal(System.Xml.XmlConvert.ToString(input, System.Xml.XmlDateTimeSerializationMode.Utc), sb.ToString());
        }
コード例 #3
0
        void TestAppendInvariant(int input)
        {
            StringBuilder sb = new StringBuilder();

            StringBuilderExt.AppendInvariant(sb, input);
            Assert.Equal(input.ToString(System.Globalization.CultureInfo.InvariantCulture), sb.ToString());

            input = 0 - input;
            sb.Clear();
            StringBuilderExt.AppendInvariant(sb, input);
            Assert.Equal(input.ToString(System.Globalization.CultureInfo.InvariantCulture), sb.ToString());
        }
コード例 #4
0
        private MemoryStream PrepareHttpRequest(HttpWebRequest request, object[] parameterValues)
        {
            request.ContentType = "application/x-www-form-urlencoded; charset=" + this.Encoding.WebName;

            UrlHelper.EscapeEncodingFlag encodingFlags = UrlHelper.GetUriStringEncodingFlags(EscapeDataNLogLegacy, true, EscapeDataRfc3986);

            var    ms        = new MemoryStream();
            string separator = string.Empty;
            var    sw        = new StreamWriter(ms, this.Encoding);

            sw.Write(string.Empty);
            StringBuilder sb = null;

            for (int i = 0; i < this.Parameters.Count; i++)
            {
                sw.Write(separator);
                sw.Write(this.Parameters[i].Name);
                sw.Write("=");
                string parameterValue = Convert.ToString(parameterValues[i], CultureInfo.InvariantCulture);
                if (!string.IsNullOrEmpty(parameterValue))
                {
                    if (sb == null)
                    {
                        sb = new StringBuilder(Math.Max(parameterValue.Length + 20, this.Parameters.Count > 1 ? 256 : 0));
                    }
                    else
                    {
                        StringBuilderExt.ClearBuilder(sb);
                    }
                    UrlHelper.EscapeDataEncode(parameterValue, sb, encodingFlags);
                    sw.Write(sb.ToString());
                }
                separator = "&";
            }
            sw.Flush();
            return(ms);
        }