@sealsystems/assert-mongo-error
v2.0.0
Published
Throws on a servere mongodb error.
Downloads
45
Readme
@sealsystems/assert-mongo-error
Test for a servere mongodb error and handle it by exiting the process, throwing a new generated @sealsystems/error
error object or just ignore the error.
Default list of severe mongodb error codes to exit:
| Name | Code | |---|---| | InternalError |1| | HostUnreachable |6| | HostNotFound |7| | NetworkTimeout | 89 | | SocketException | 9001 | | UnknownError |8| | ProtocolError | 17 | | IllegalOpMsgFlag | 223 | | UserNotFound |11| | Unauthorized |13| | AuthenticationFailed | 18 | | InvalidSSLConfiguration | 140 | | SSLHandshakeFailed | 141 | | OutOfDiskSpace | 14031 |
Installation
$ npm install @sealsystems/assert-mongo-error
Quick start
First you need to add a reference to @sealsystems/assert-mongo-error within your application, then call the assert
function in the callback of every mongodb call.
const assertMongoError = require('@sealsystems/assert-mongo-error');
yourCollection.find({}, (findError, cursor) => {
assertMongoError.assert(findError);
...
});
Assert Error
Test for a servere mongodb error. The function has three outcomes:
- In case of a severe mongodb error exit the process
- Without any of the optional parameters the mongodb error is ignored and the function returns.
- If at least an error message is given as second parameter it throws a new created error of type
@sealsystems/error
. The original mongodb error is chained to the new error.
assertMongoError.assert(error, message, code, metadata);
Parameters:
error object mandatory The error object to test
message string optional Message used for creating a new error object
code number optional Code used for creating a new error object
metadata object optional Metadata used for creating a new error object
Set list of error codes
Use the setCodes
function to set a new list of error codes. This needs to be done only once, e.g. at startup. The new list is available instantly throughout the whole node process.
const assertMongoError = require('@sealsystems/assert-mongo-error');
assertMongoError.setCodes([1,2,3]);
...
assertMongoError.assert(mongoErrorObject);
Running the build
To build this module use roboter.
$ bot