Open
Description
Whenever I try creating a database or performing actions that require authentication that I don't have, instead of the server returning an unauthorized message, it never responds and I get this error:
(node:4599) UnhandledPromiseRejectionWarning: TypeError: db.info is not a function
at /home/penguinsnail/Documents/FRC/StrangeScout/server/node_modules/express-pouchdb/lib/routes/db.js:31:10
at /home/penguinsnail/Documents/FRC/StrangeScout/server/node_modules/promise-nodify/index.js:22:7
at processTicksAndRejections (internal/process/next_tick.js:81:5)
(node:4599) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:4599) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:4599) UnhandledPromiseRejectionWarning: [object Object]
(node:4599) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
However, with proper authorization no error occurs and the request completes and responds successfully.
My code is here:
const express = require('express');
const PouchDB = require('pouchdb');
const path = require('path');
// winston for logging
const winston = require('winston');
const expressWinston = require('express-winston');
// define database prefix
const db = PouchDB.defaults({prefix: path.join(__dirname, 'dbs/')})
const app = express();
const port = 80;
// listener
app.listen(port, () => console.log(`listening on port ${port}`));
// logging (https://github.com/bithavoc/express-winston#request-logging)
app.use(expressWinston.logger({
transports: [
new winston.transports.Console()
],
format: winston.format.combine(
winston.format.json()
),
meta: false,
msg: "HTTP {{req.method}} {{req.url}} {{req.method}} {{res.responseTime}}ms",
expressFormat: false
}));
// static files at root
app.use('/', express.static(path.join(__dirname, 'static')));
// pouchdb-server
app.use('/db', require('express-pouchdb')(db));
Metadata
Metadata
Assignees
Labels
No labels