diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2008-09-29 07:35:02 -0700 |
---|---|---|
committer | Andrew <andrewarnott@gmail.com> | 2008-10-02 07:33:06 -0700 |
commit | 824734c85a613e900f552c554aada6cc4588531a (patch) | |
tree | 1aa6b1c3788c4e28c24414630a6004258d64f463 /src/DotNetOAuth/Messaging/Reflection/MessageDictionary.cs | |
parent | c5e676d0fa6daffc8e7be411ec02efdd98f4f78b (diff) | |
download | DotNetOpenAuth-824734c85a613e900f552c554aada6cc4588531a.zip DotNetOpenAuth-824734c85a613e900f552c554aada6cc4588531a.tar.gz DotNetOpenAuth-824734c85a613e900f552c554aada6cc4588531a.tar.bz2 |
Fixed HTTP Authorization header to not include extra parameters.
Combined the AdditionalParametersInHttpRequest and ExtraData concepts
Diffstat (limited to 'src/DotNetOAuth/Messaging/Reflection/MessageDictionary.cs')
-rw-r--r-- | src/DotNetOAuth/Messaging/Reflection/MessageDictionary.cs | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/DotNetOAuth/Messaging/Reflection/MessageDictionary.cs b/src/DotNetOAuth/Messaging/Reflection/MessageDictionary.cs index 3c233ce..5416e5f 100644 --- a/src/DotNetOAuth/Messaging/Reflection/MessageDictionary.cs +++ b/src/DotNetOAuth/Messaging/Reflection/MessageDictionary.cs @@ -65,6 +65,18 @@ namespace DotNetOAuth.Messaging.Reflection { public ICollection<string> Keys {
get {
List<string> keys = new List<string>(this.message.ExtraData.Count + this.description.Mapping.Count);
+ keys.AddRange(this.DeclaredKeys);
+ keys.AddRange(this.AdditionalKeys);
+ return keys.AsReadOnly();
+ }
+ }
+
+ /// <summary>
+ /// Gets the set of official OAuth keys that have non-null values associated with them.
+ /// </summary>
+ public ICollection<string> DeclaredKeys {
+ get {
+ List<string> keys = new List<string>(this.description.Mapping.Count);
foreach (var pair in this.description.Mapping) {
// Don't include keys with null values, but default values for structs is ok
if (pair.Value.GetValue(this.message) != null) {
@@ -72,15 +84,18 @@ namespace DotNetOAuth.Messaging.Reflection { }
}
- foreach (string key in this.message.ExtraData.Keys) {
- keys.Add(key);
- }
-
return keys.AsReadOnly();
}
}
/// <summary>
+ /// Gets the keys that are in the message but not declared as official OAuth properties.
+ /// </summary>
+ public ICollection<string> AdditionalKeys {
+ get { return this.message.ExtraData.Keys; }
+ }
+
+ /// <summary>
/// Gets all the values.
/// </summary>
public ICollection<string> Values {
|