示例#1
0
        public Yield SiteExport(DreamContext context, DreamMessage request, Result <DreamMessage> response)
        {
            // Retrieve the title used for path normalization (if any)
            Title relToTitle = Utils.GetRelToTitleFromUrl(context) ?? Title.FromDbPath(NS.MAIN, String.Empty, null);

            // Retrieve data to export
            XDoc requestDoc = request.ToDocument();

            if (requestDoc == null || requestDoc.IsEmpty || !requestDoc.HasName("export"))
            {
                throw new PostedDocumentInvalidArgumentException("export");
            }

            // Perform the export
            MindTouch.Deki.Export.SiteExportBuilder exportBuilder = new MindTouch.Deki.Export.SiteExportBuilder(relToTitle);
            exportBuilder.Append(requestDoc);
            response.Return(DreamMessage.Ok(exportBuilder.ToDocument()));
            yield break;
        }
        public Yield SiteExport(DreamContext context, DreamMessage request, Result<DreamMessage> response) {

            // Retrieve the title used for path normalization (if any)
            Title relToTitle = Utils.GetRelToTitleFromUrl(context) ?? Title.FromDbPath(NS.MAIN, String.Empty, null);

            // Retrieve data to export
            XDoc requestDoc = request.ToDocument();
            if(requestDoc == null || requestDoc.IsEmpty || !requestDoc.HasName("export")) {
                throw new DreamBadRequestException(String.Format(DekiResources.INVALID_POSTED_DOCUMENT_1, "export"));
            }

            // Perform the export
            MindTouch.Deki.Export.SiteExportBuilder exportBuilder = new MindTouch.Deki.Export.SiteExportBuilder(relToTitle);
            exportBuilder.Append(requestDoc);
            response.Return(DreamMessage.Ok(exportBuilder.ToDocument()));
            yield break;
        }