From dc247ed1f8a19dacc19922feefa05787f58b5fef Mon Sep 17 00:00:00 2001 From: Frank Celler Date: Sat, 27 Jul 2013 00:03:16 +0200 Subject: [PATCH] fixed pathHandler and logging --- js/actions/api-system.js | 1 + js/server/modules/org/arangodb/actions.js | 7 +------ .../modules/org/arangodb/foxx-manager.js | 10 +++++---- js/server/modules/org/arangodb/foxx.js | 21 +++++++++++++++---- 4 files changed, 25 insertions(+), 14 deletions(-) diff --git a/js/actions/api-system.js b/js/actions/api-system.js index 10c27ba73b..889fae76c7 100644 --- a/js/actions/api-system.js +++ b/js/actions/api-system.js @@ -93,6 +93,7 @@ function routing (req, res) { } var func = action.route.callback.controller; + if (func === null || typeof func !== 'function') { func = actions.errorFunction(action.route, 'Invalid callback definition found for route ' diff --git a/js/server/modules/org/arangodb/actions.js b/js/server/modules/org/arangodb/actions.js index 66e2b79f21..2638b7a7f6 100644 --- a/js/server/modules/org/arangodb/actions.js +++ b/js/server/modules/org/arangodb/actions.js @@ -1841,12 +1841,7 @@ function pathHandler (req, res, options, next) { if (options.hasOwnProperty('root')) { var root = options.root; - if (root.substr(0, 4) === "app:") { - filename = fs.join(module.appPath(), filename); - } - else if (root.substr(0, 4) === "dev:") { - filename = fs.join(module.devAppPath(), filename); - } + filename = fs.join(root, filename); } if (fs.exists(filename)) { diff --git a/js/server/modules/org/arangodb/foxx-manager.js b/js/server/modules/org/arangodb/foxx-manager.js index 5f1889af78..74c155bd38 100644 --- a/js/server/modules/org/arangodb/foxx-manager.js +++ b/js/server/modules/org/arangodb/foxx-manager.js @@ -211,7 +211,7 @@ function installAssets (app, routes) { action: { "do": "org/arangodb/actions/pathHandler", "options": { - root: app._id, + root: app._root, path: fs.join(app._path, directory) } } @@ -397,7 +397,7 @@ function mountAalApp (app, mount, options) { /// @brief computes the routes of an app //////////////////////////////////////////////////////////////////////////////// -function routingAalApp (app, mount, options, dev) { +function routingAalApp (app, mount, options) { 'use strict'; try { @@ -902,7 +902,7 @@ exports.appRoutes = function () { throw new Error("Cannot find application '" + appId + "'"); } - var r = routingAalApp(app, mount, options, false); + var r = routingAalApp(app, mount, options); if (r === null) { throw new Error("Cannot compute the routing table for foxx application '" @@ -953,7 +953,9 @@ exports.developmentRoutes = function () { throw new Error("Cannot find application '" + appId + "'"); } - var r = routingAalApp(app, mount, options, true); + setupApp(app, mount, options.prefix); + + var r = routingAalApp(app, mount, options); if (r === null) { throw new Error("Cannot compute the routing table for foxx application '" diff --git a/js/server/modules/org/arangodb/foxx.js b/js/server/modules/org/arangodb/foxx.js index 76fd38fd7c..7f7fdde8ff 100644 --- a/js/server/modules/org/arangodb/foxx.js +++ b/js/server/modules/org/arangodb/foxx.js @@ -871,10 +871,23 @@ BaseMiddleware = function (templateCollection, helperCollection) { response = _.extend(response, responseFunctions); next(); if (trace) { - console.log("%s, outgoing response of type %s, body length: %d", - options.app.mount, - response.contentType, - parseInt(response.body.length, 10)); + if (response.hasOwnProperty("body")) { + console.log("%s, outgoing response of type %s, body length: %d", + options.app.mount, + response.contentType, + parseInt(response.body.length, 10)); + } + else if (response.hasOwnProperty("bodyFromFile")) { + console.log("%s, outgoing response of type %s, body file: %s", + options.app.mount, + response.contentType, + response.bodyFromFile); + } + else { + console.log("%s, outgoing response of type %s, no body", + options.app.mount, + response.contentType); + } } };