UrlEncode() public static method

This is a different Url Encode implementation since the default .NET one outputs the percent encoding in lower case. While this is not a problem with the percent encoding spec, it is used in upper case throughout OAuth
public static UrlEncode ( string value ) : string
value string The value to Url encode
return string
Beispiel #1
0
        public void HeadersReady(RequestContext context)
        {
            SignatureHelper o       = new SignatureHelper(Settings, Logger);
            HttpWebRequest  request = context.Request;

            string timestamp = o.GenerateTimeStamp();
            string nonce     = o.GenerateNonce();

            if (Settings.Debug_Timestamp != null)
            {
                timestamp = Settings.Debug_Timestamp;
            }

            if (Settings.Debug_Nonce != null)
            {
                nonce = Settings.Debug_Nonce;
            }

            string url;
            string requestParams;

            string signature = o.GenerateSignature(request.RequestUri,
                                                   Settings.ConsumerKey,
                                                   Settings.ConsumerSecrect,
                                                   Settings.CallbackUrl,
                                                   Settings.AccessToken,
                                                   Settings.AccessTokenSecrect,
                                                   request.Method,
                                                   timestamp,
                                                   nonce,
                                                   SignatureTypes.HMACSHA1, // FIXME: constructor parameter
                                                   out url,
                                                   out requestParams);

            Log("Signature: " + signature);

            string auth = string.Format(@"OAuth 
  oauth_consumer_key=""{0}"", 
  oauth_token=""{1}"", 
  oauth_nonce=""{2}"", 
  oauth_timestamp=""{3}"", 
  oauth_signature_method=""{4}"", 
  oauth_signature=""{5}"", 
  oauth_version=""1.0""",
                                        Settings.ConsumerKey,
                                        Settings.AccessToken,
                                        nonce,
                                        timestamp,
                                        "HMAC-SHA1",
                                        SignatureHelper.UrlEncode(signature));

            if (Settings.CallbackUrl != null)
            {
                auth += string.Format(@", oauth_callback=""{0}""", Settings.CallbackUrl);
            }

            Log("Authorization header: " + auth);

            request.Headers["Authorization"] = auth;
        }
Beispiel #2
0
        public QueryParameter(string name, string value)
        {
            Condition.Requires(name, "name").IsNotNull();

            if (value == null)
            {
                value = "";
            }

            Name  = SignatureHelper.UrlEncode(Encoder8bit.GetString(Encoding.UTF8.GetBytes(name)));
            Value = SignatureHelper.UrlEncode(Encoder8bit.GetString(Encoding.UTF8.GetBytes(value)));
        }