diff --git a/plugins/tiddlywiki/multiwikiserver/modules/routes/handlers/post-bag-tiddlers.js b/plugins/tiddlywiki/multiwikiserver/modules/routes/handlers/post-bag-tiddlers.js index 5487718ed..0d2e37539 100644 --- a/plugins/tiddlywiki/multiwikiserver/modules/routes/handlers/post-bag-tiddlers.js +++ b/plugins/tiddlywiki/multiwikiserver/modules/routes/handlers/post-bag-tiddlers.js @@ -4,7 +4,6 @@ type: application/javascript module-type: route POST /wiki/:bag_name/bags/:bag_name/tiddlers/ -POST /wiki/:bag_name/bags/:bag_name/tiddlers NOTE: Urls currently include the bag name twice. This is temporary to minimise the changes to the TiddlyWeb plugin @@ -42,29 +41,36 @@ console.log(`Got ${bag_name} and ${bag_name_2}`) response: response, bagname: bag_name, callback: function(err,results) { - response.writeHead(200, "OK",{ - "Content-Type": "text/html" - }); - response.write(` - - - - - - `); - // Render the html - var html = $tw.mws.store.adminWiki.renderTiddler("text/html","$:/plugins/tiddlywiki/multiwikiserver/templates/post-bag-tiddlers",{ - variables: { - "bag-name": bag_name, - "imported-titles": JSON.stringify(results) - } - }); - response.write(html); - response.write(` - - - `); - response.end(); + // If application/json is requested then this is an API request, and gets the response in JSON + if(request.headers.accept && request.headers.accept.indexOf("application/json") !== -1) { + state.sendResponse(200,{"Content-Type": "application/json"},JSON.stringify({ + "imported-tiddlers": results + })); + } else { + response.writeHead(200, "OK",{ + "Content-Type": "text/html" + }); + response.write(` + + + + + + `); + // Render the html + var html = $tw.mws.store.adminWiki.renderTiddler("text/html","$:/plugins/tiddlywiki/multiwikiserver/templates/post-bag-tiddlers",{ + variables: { + "bag-name": bag_name, + "imported-titles": JSON.stringify(results) + } + }); + response.write(html); + response.write(` + + + `); + response.end(); + } } }); };