Skip to content

Commit

Permalink
[fix] Switch viewPresenter back to module #10
Browse files Browse the repository at this point in the history
  * Having issues with viewPresenter as plugin
  * viewPresenter requires patching response obj
  * Is now working up-stream and with examples
  • Loading branch information
Marak committed Oct 13, 2016
1 parent ba38ba0 commit 0225f99
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 17 deletions.
46 changes: 30 additions & 16 deletions bin/stack
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ var requireServiceSync = require('../lib/requireServiceSync');
var logger = require('../lib/plugins/logger');
var mschema = require('../lib/plugins/mschema');
var bodyParser = require('../lib/plugins/bodyParser');
var viewPresenter = require('../lib/plugins/viewPresenter');
var viewPresenter = require('../lib/viewPresenter');

var servicePath = path.resolve(process.cwd() + "/" + script);
var _service = requireServiceSync({ path: servicePath });
Expand Down Expand Up @@ -92,13 +92,6 @@ function startServer (_service) {
app.use(mschema(_service.schema));
}

if (_service.view) {
app.use(viewPresenter({
view: _service.view,
presenter: _service.presenter
}));
}

app.use(function watchSpawn (req, res, next) {
// Remark: If config.watch or argv is detected, reload the script on every request
// TODO: we could use an MD5 checksum or mtime to only reload the script on actual changes
Expand All @@ -116,15 +109,36 @@ function startServer (_service) {
} else {
spawnService(_service)
}

function spawnService (service) {
stack.spawn({
code: service.code,
schema: service.schema,
view: service.view,
presenter: service.presenter,
language: service.language,
config: config
})(req, res, next);
// TODO: move viewPresenter back into proper plugin
if (_service.view) {
viewPresenter({
view: _service.view,
presenter: _service.presenter
}, req, res, function(err, req, output){
if (err) {
return next(err);
}
stack.spawn({
code: service.code,
schema: service.schema,
view: service.view,
presenter: service.presenter,
language: service.language,
config: config
})(req, output, next);
});
} else {
stack.spawn({
code: service.code,
schema: service.schema,
view: service.view,
presenter: service.presenter,
language: service.language,
config: config
})(req, res, next);
}
}
});
});
Expand Down
2 changes: 1 addition & 1 deletion lib/spawn.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ module['exports'] = function spawnService (service, input, output) {
console.log(err, result)
};

output.setHeader('x-powered-by', 'Stackvana');
// output.setHeader('x-powered-by', 'Stackvana');

/*
// This will populate req.resource.params, but not form fields,
Expand Down

0 comments on commit 0225f99

Please sign in to comment.