diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2008-08-30 11:27:51 -0700 |
---|---|---|
committer | Andrew <andrewarnott@gmail.com> | 2008-09-01 11:02:40 -0700 |
commit | 36f545864647177b36a4c8f26af0e842fda86e88 (patch) | |
tree | 274876b73b39361c70a7591015a62c28ddb60261 /src/DotNetOAuth/ProtocolMessageSerializer.cs | |
parent | 5df67c5b5bbd0c7463cec9b1f594d18de345a7d5 (diff) | |
download | DotNetOpenAuth-36f545864647177b36a4c8f26af0e842fda86e88.zip DotNetOpenAuth-36f545864647177b36a4c8f26af0e842fda86e88.tar.gz DotNetOpenAuth-36f545864647177b36a4c8f26af0e842fda86e88.tar.bz2 |
Added message validation.
Diffstat (limited to 'src/DotNetOAuth/ProtocolMessageSerializer.cs')
-rw-r--r-- | src/DotNetOAuth/ProtocolMessageSerializer.cs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/DotNetOAuth/ProtocolMessageSerializer.cs b/src/DotNetOAuth/ProtocolMessageSerializer.cs index 14422dd..14b6b2f 100644 --- a/src/DotNetOAuth/ProtocolMessageSerializer.cs +++ b/src/DotNetOAuth/ProtocolMessageSerializer.cs @@ -28,10 +28,18 @@ namespace DotNetOAuth { if (message == null) throw new ArgumentNullException("message");
var fields = new Dictionary<string, string>();
+ Serialize(fields, message);
+ return fields;
+ }
+
+ internal void Serialize(IDictionary<string, string> fields, T message) {
+ if (fields == null) throw new ArgumentNullException("fields");
+ if (message == null) throw new ArgumentNullException("message");
+
+ message.EnsureValidMessage();
using (XmlWriter writer = DictionaryXmlWriter.Create(fields)) {
serializer.WriteObjectContent(writer, message);
}
- return fields;
}
/// <summary>
@@ -43,6 +51,7 @@ namespace DotNetOAuth { var reader = DictionaryXmlReader.Create(rootElement, fields);
T result = (T)serializer.ReadObject(reader, false);
+ result.EnsureValidMessage();
return result;
}
}
|