public byte[] GetData()
            {
                var v = _parameter.Value;

                if (v == null)
                {
                    return(new byte[0]);
                }

                var s = v as string;

                if (s != null)
                {
                    return(UrlUtility.EscapeToBytes(s, _parameter.Encoding ?? ParameterExtensions.DefaultEncoding));
                }

                var bytes = v as byte[];

                if (bytes != null)
                {
                    return(UrlUtility.EscapeToBytes(bytes));
                }

                s = _parameter.ToRequestString();
                return(UrlUtility.EscapeToBytes(s, _parameter.Encoding ?? ParameterExtensions.DefaultEncoding));
            }
예제 #2
0
        private static string UrlEncode(Parameter parameter, Encoding encoding, bool spaceAsPlus)
        {
            var flags = spaceAsPlus ? UrlEscapeFlags.EscapeSpaceAsPlus : UrlEscapeFlags.Default;

            if (parameter.Value == null)
            {
                return(string.Empty);
            }

            var s = parameter.Value as string;

            if (s != null)
            {
                return(UrlUtility.Escape(s, encoding, flags));
            }

            var bytes = parameter.Value as byte[];

            if (bytes != null)
            {
                return(UrlUtility.Escape(bytes, flags));
            }

            return(UrlUtility.Escape(parameter.ToRequestString(), encoding, flags));
        }
        private static string UrlEncode(Parameter parameter, Encoding encoding, bool spaceAsPlus)
        {
            var flags = spaceAsPlus ? UrlEscapeFlags.EscapeSpaceAsPlus : UrlEscapeFlags.Default;

            if (parameter.Value == null)
                return string.Empty;

            var s = parameter.Value as string;
            if (s != null)
                return UrlUtility.Escape(s, encoding, flags);

            var bytes = parameter.Value as byte[];
            if (bytes != null)
                return UrlUtility.Escape(bytes, flags);

            return UrlUtility.Escape(parameter.ToRequestString(), encoding, flags);
        }