docparse-api
Version:
api server for the docparse project
44 lines (41 loc) • 1.2 kB
JavaScript
var inspect = require('eyespect').inspector();
var restify = require('restify');
module.exports = function(req, res, params) {
if (!req.user) {
return res.send(new restify.NotAuthorizedError('req.user not set'));
}
var hash = req.params.hash;
if (!req.params.hash) {
var msg = 'upload hash must be the last part of the url like /api/upload/parse/4c3d3d20906f12bb7e492d3644d4248717ed064e';
var error = new restify.MissingParameterError(msg);
return res.send(error);
}
var parse = params.parse;
if (!parse) {
parse = require('docparse-parse-upload');
}
var logger = params.logger;
var data = req.params || {};
var userID = req.user._id.toString();
data.userID = userID;
data.user = req.user;
data.hash = hash;
parse(data, function (err, reply) {
if (err) {
logger.error('error parsing uploads', {
type: 'api',
error: err,
hash: hash,
userID: data.userID
});
return res.send(new restify.InternalError(JSON.stringify(err)));
}
if (reply.toClient) {
reply = reply.toClient();
}
else if (reply.toObject) {
reply = reply.toObject();
}
res.send(reply);
});
};