Author: atsushi
Date: 2008-02-16 04:15:00 -0500 (Sat, 16 Feb 2008)
New Revision: 95856
Modified:
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Channels/ChangeLog
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Channels/WebMessageEncoder.cs
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Dispatcher/ChangeLog
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Dispatcher/WebMessageFormatter.cs
Log:
2008-02-16 Atsushi Enomoto <[EMAIL PROTECTED]>
* WebMessageFormatter.cs : fixed content-type typo.
* WebMessageEncoder.cs : use content-type correctly.
Modified:
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Channels/ChangeLog
===================================================================
---
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Channels/ChangeLog
2008-02-16 09:05:28 UTC (rev 95855)
+++
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Channels/ChangeLog
2008-02-16 09:15:00 UTC (rev 95856)
@@ -1,5 +1,9 @@
2008-02-16 Atsushi Enomoto <[EMAIL PROTECTED]>
+ * WebMessageEncoder.cs : use content-type correctly.
+
+2008-02-16 Atsushi Enomoto <[EMAIL PROTECTED]>
+
* WebMessageEncoder.cs : attach WebBodyFormatMessageProperty in
ReadMessage() too.
Modified:
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Channels/WebMessageEncoder.cs
===================================================================
---
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Channels/WebMessageEncoder.cs
2008-02-16 09:05:28 UTC (rev 95855)
+++
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Channels/WebMessageEncoder.cs
2008-02-16 09:15:00 UTC (rev 95856)
@@ -69,16 +69,28 @@
if (contentType == null)
throw new ArgumentNullException ("contentType");
- WebContentFormat fmt = WebContentFormat.Xml;
- if (source.ContentTypeMapper != null)
- fmt =
source.ContentTypeMapper.GetMessageFormatForContentType (ContentType);
-
Encoding enc = Encoding.UTF8;
-Console.WriteLine (contentType);
ContentType ct = new ContentType (contentType);
if (ct.CharSet != null)
enc = Encoding.GetEncoding (ct.CharSet);
+ WebContentFormat fmt = WebContentFormat.Xml;
+ if (source.ContentTypeMapper != null)
+ fmt =
source.ContentTypeMapper.GetMessageFormatForContentType (contentType);
+ else {
+ switch (ct.MediaType) {
+ case "application/json":
+ fmt = WebContentFormat.Json;
+ break;
+ case "application/xml":
+ fmt = WebContentFormat.Xml;
+ break;
+ case "application/octet-stream":
+ fmt = WebContentFormat.Raw;
+ break;
+ }
+ }
+
Message msg = null;
WebBodyFormatMessageProperty wp = null;
switch (fmt) {
Modified:
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Dispatcher/ChangeLog
===================================================================
---
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Dispatcher/ChangeLog
2008-02-16 09:05:28 UTC (rev 95855)
+++
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Dispatcher/ChangeLog
2008-02-16 09:15:00 UTC (rev 95856)
@@ -1,5 +1,9 @@
2008-02-16 Atsushi Enomoto <[EMAIL PROTECTED]>
+ * WebMessageFormatter.cs : fixed content-type typo.
+
+2008-02-16 Atsushi Enomoto <[EMAIL PROTECTED]>
+
* WebMessageFormatter.cs : implemented DeserializeReply().
It was wrong to have one MessageDescription in a formatter, as
they are different between serialization and deserialization.
Modified:
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Dispatcher/WebMessageFormatter.cs
===================================================================
---
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Dispatcher/WebMessageFormatter.cs
2008-02-16 09:05:28 UTC (rev 95855)
+++
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Dispatcher/WebMessageFormatter.cs
2008-02-16 09:15:00 UTC (rev 95856)
@@ -266,7 +266,7 @@
break;
case WebMessageFormat.Json:
serializer = new
DataContractJsonSerializer (md.Body.ReturnValue.Type);
- mediaType = "appllication/json";
+ mediaType = "application/json";
break;
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches