Exemple #1
0
        public HttpRequestBodyString(string body, IValue encoding = null, ByteOrderMarkUsageEnum bomUsage = ByteOrderMarkUsageEnum.Auto)
        {
            _data = body;

            var addBom = false;

            if (encoding == null)
            {
                if (bomUsage == ByteOrderMarkUsageEnum.Use)
                {
                    addBom = true;
                }

                _encoding = new UTF8Encoding(addBom);
            }
            else
            {
                if (encoding.AsString().Equals("utf-16", StringComparison.OrdinalIgnoreCase) ||
                    encoding.AsString().Equals("utf-32", StringComparison.OrdinalIgnoreCase) && bomUsage == ByteOrderMarkUsageEnum.Auto)
                {
                    addBom = true;
                }
                else
                {
                    addBom = bomUsage == ByteOrderMarkUsageEnum.Use;
                }

                _encoding = TextEncodingEnum.GetEncoding(encoding, addBom);
            }
        }
        public HttpRequestBodyBinary(string body, IValue encoding    = null,
                                     ByteOrderMarkUsageEnum bomUsage = ByteOrderMarkUsageEnum.Auto)
        {
            var utfs = new List <string> {
                "utf-16", "utf-32"
            };
            var addBom = utfs.Contains(encoding?.AsString(), StringComparer.OrdinalIgnoreCase) &&
                         bomUsage == ByteOrderMarkUsageEnum.Auto || bomUsage == ByteOrderMarkUsageEnum.Use;

            var encoder = encoding == null ? new UTF8Encoding(addBom) : TextEncodingEnum.GetEncoding(encoding, addBom);

            var byteArray = encoder.GetBytes(body);

            _memoryStream.Write(byteArray, 0, byteArray.Length);
        }
 public void SetBodyFromString(string data, IValue encoding = null, ByteOrderMarkUsageEnum bomUsage = ByteOrderMarkUsageEnum.Auto)
 {
     SetBody(new HttpRequestBodyString(data, encoding, bomUsage));
 }