mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-12-03 20:13:52 +08:00
#19055: Fixing MS Word blog publishing
Work Item: 19055 --HG-- branch : 1.x
This commit is contained in:
@@ -3,21 +3,26 @@ using System.IO;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Web;
|
using System.Web;
|
||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
|
using System.Xml.Linq;
|
||||||
using Orchard.Core.XmlRpc.Models;
|
using Orchard.Core.XmlRpc.Models;
|
||||||
using Orchard.Core.XmlRpc.Services;
|
using Orchard.Core.XmlRpc.Services;
|
||||||
using Orchard.Logging;
|
using Orchard.Logging;
|
||||||
using Orchard.Security;
|
using Orchard.Security;
|
||||||
|
using Orchard.Services;
|
||||||
|
|
||||||
namespace Orchard.Core.XmlRpc.Controllers {
|
namespace Orchard.Core.XmlRpc.Controllers {
|
||||||
public class HomeController : Controller {
|
public class HomeController : Controller {
|
||||||
private readonly IXmlRpcWriter _writer;
|
private readonly IXmlRpcWriter _writer;
|
||||||
private readonly IEnumerable<IXmlRpcHandler> _xmlRpcHandlers;
|
private readonly IEnumerable<IXmlRpcHandler> _xmlRpcHandlers;
|
||||||
|
private readonly IClock _clock;
|
||||||
|
|
||||||
public HomeController(
|
public HomeController(
|
||||||
IXmlRpcWriter writer,
|
IXmlRpcWriter writer,
|
||||||
IEnumerable<IXmlRpcHandler> xmlRpcHandlers) {
|
IEnumerable<IXmlRpcHandler> xmlRpcHandlers,
|
||||||
|
IClock clock) {
|
||||||
_writer = writer;
|
_writer = writer;
|
||||||
_xmlRpcHandlers = xmlRpcHandlers;
|
_xmlRpcHandlers = xmlRpcHandlers;
|
||||||
|
_clock = clock;
|
||||||
|
|
||||||
Logger = NullLogger.Instance;
|
Logger = NullLogger.Instance;
|
||||||
}
|
}
|
||||||
@@ -33,11 +38,18 @@ namespace Orchard.Core.XmlRpc.Controllers {
|
|||||||
if (methodResponse == null)
|
if (methodResponse == null)
|
||||||
throw new HttpException(500, "TODO: xmlrpc fault");
|
throw new HttpException(500, "TODO: xmlrpc fault");
|
||||||
|
|
||||||
// using Save() to render the xml declaration
|
var result = _writer.MapMethodResponse(methodResponse);
|
||||||
var content = new StringBuilder();
|
return Content(result.ToString(), "text/xml");
|
||||||
_writer.MapMethodResponse(methodResponse).Save(new StringWriter(content));
|
}
|
||||||
|
|
||||||
return Content(content.ToString(), "text/xml");
|
[HttpHead, ActionName("Index")]
|
||||||
|
[AlwaysAccessible]
|
||||||
|
public ActionResult ExistenceDiscovery() {
|
||||||
|
//see http://blogs.msdn.com/b/vsofficedeveloper/archive/2008/03/11/office-existence-discovery-protocol.aspx
|
||||||
|
Logger.Debug("Microsoft Office Existence Discovery");
|
||||||
|
|
||||||
|
Response.AddHeader("Last-Modified", _clock.UtcNow.ToString("o"));
|
||||||
|
return Content("", "text/xml");
|
||||||
}
|
}
|
||||||
|
|
||||||
private XRpcMethodResponse Dispatch(XRpcMethodCall request) {
|
private XRpcMethodResponse Dispatch(XRpcMethodCall request) {
|
||||||
|
|||||||
Reference in New Issue
Block a user