PercentEncode() private static method

private static PercentEncode ( string s ) : string
s string
return string
        public static string UrlEncodeRelaxed(string value)
        {
            string text = Uri.EscapeDataString(value);

            return(text.Replace("(", OAuthTools.PercentEncode("(")).Replace(")", OAuthTools.PercentEncode(")")));
        }
        public static string UrlEncodeStrict(string value)
        {
            string text = value.Where((char c) => !"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890-._~".Contains(c) && c != '%').Aggregate(value, (string current, char c) => current.Replace(c.ToString(), OAuthTools.PercentEncode(c.ToString())));

            return(text.Replace("%%", "%25%"));
        }
Beispiel #3
0
 /// <summary>
 /// URL encodes a string based on section 5.1 of the OAuth spec.
 /// Namely, percent encoding with [RFC3986], avoiding unreserved characters,
 /// upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs.
 /// </summary>
 /// <param name="value"></param>
 /// <seealso href="http://oauth.net/core/1.0#encoding_parameters" />
 public static string UrlEncodeStrict(string value)
 {
     return(value.Where <char>((Func <char, bool>)(c =>
     {
         if (!"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890-._~".Contains <char>(c))
         {
             return c != '%';
         }
         return false;
     })).Aggregate <char, string>(value, (Func <string, char, string>)((current, c) => current.Replace(c.ToString(), OAuthTools.PercentEncode(c.ToString())))).Replace("%%", "%25%"));
 }