UNPKG

docparse-api

Version:

api server for the docparse project

44 lines (41 loc) 1.2 kB
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); }); };