deno.land / x / mongoose@6.7.5 / lib / error / serverSelection.js

serverSelection.js
نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*! * Module dependencies. */
'use strict';
const MongooseError = require('./mongooseError');const allServersUnknown = require('../helpers/topology/allServersUnknown');const isAtlas = require('../helpers/topology/isAtlas');const isSSLError = require('../helpers/topology/isSSLError');
/*! * ignore */
const atlasMessage = 'Could not connect to any servers in your MongoDB Atlas cluster. ' + 'One common reason is that you\'re trying to access the database from ' + 'an IP that isn\'t whitelisted. Make sure your current IP address is on your Atlas ' + 'cluster\'s IP whitelist: https://docs.atlas.mongodb.com/security-whitelist/';
const sslMessage = 'Mongoose is connecting with SSL enabled, but the server is ' + 'not accepting SSL connections. Please ensure that the MongoDB server you are ' + 'connecting to is configured to accept SSL connections. Learn more: ' + 'https://mongoosejs.com/docs/tutorials/ssl.html';
class MongooseServerSelectionError extends MongooseError { /** * MongooseServerSelectionError constructor * * @api private */ assimilateError(err) { const reason = err.reason; // Special message for a case that is likely due to IP whitelisting issues. const isAtlasWhitelistError = isAtlas(reason) && allServersUnknown(reason) && err.message.indexOf('bad auth') === -1 && err.message.indexOf('Authentication failed') === -1;
if (isAtlasWhitelistError) { this.message = atlasMessage; } else if (isSSLError(reason)) { this.message = sslMessage; } else { this.message = err.message; } for (const key in err) { if (key !== 'name') { this[key] = err[key]; } }
return this; }}
Object.defineProperty(MongooseServerSelectionError.prototype, 'name', { value: 'MongooseServerSelectionError'});
module.exports = MongooseServerSelectionError;
mongoose

Version Info

Tagged at
a year ago