Node JS version
This commit is contained in:
175
node_modules/cassandra-driver/lib/errors.js
generated
vendored
Normal file
175
node_modules/cassandra-driver/lib/errors.js
generated
vendored
Normal file
@@ -0,0 +1,175 @@
|
||||
/*
|
||||
* Copyright DataStax, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
'use strict';
|
||||
const util = require('util');
|
||||
/**
|
||||
* Contains the error classes exposed by the driver.
|
||||
* @module errors
|
||||
*/
|
||||
|
||||
/**
|
||||
* Base Error
|
||||
* @private
|
||||
*/
|
||||
function DriverError (message) {
|
||||
Error.call(this, message);
|
||||
Error.captureStackTrace(this, this.constructor);
|
||||
this.name = this.constructor.name;
|
||||
this.info = 'Cassandra Driver Error';
|
||||
// Explicitly set the message property as the Error.call() doesn't set the property on v8
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
util.inherits(DriverError, Error);
|
||||
|
||||
/**
|
||||
* Represents an error when a query cannot be performed because no host is available or could be reached by the driver.
|
||||
* @param {Object} innerErrors An object map containing the error per host tried
|
||||
* @param {String} [message]
|
||||
* @constructor
|
||||
*/
|
||||
function NoHostAvailableError(innerErrors, message) {
|
||||
DriverError.call(this, message);
|
||||
this.innerErrors = innerErrors;
|
||||
this.info = 'Represents an error when a query cannot be performed because no host is available or could be reached by the driver.';
|
||||
if (!message) {
|
||||
this.message = 'All host(s) tried for query failed.';
|
||||
if (innerErrors) {
|
||||
const hostList = Object.keys(innerErrors);
|
||||
if (hostList.length > 0) {
|
||||
const host = hostList[0];
|
||||
this.message += util.format(' First host tried, %s: %s. See innerErrors.', host, innerErrors[host]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
util.inherits(NoHostAvailableError, DriverError);
|
||||
|
||||
/**
|
||||
* Represents an error message from the server
|
||||
* @param {Number} code Cassandra exception code
|
||||
* @param {String} message
|
||||
* @constructor
|
||||
*/
|
||||
function ResponseError(code, message) {
|
||||
DriverError.call(this, message);
|
||||
/**
|
||||
* The error code as defined in [responseErrorCodes]{@link module:types~responseErrorCodes}.
|
||||
* @type {Number}
|
||||
*/
|
||||
this.code = code;
|
||||
this.info = 'Represents an error message from the server';
|
||||
}
|
||||
|
||||
util.inherits(ResponseError, DriverError);
|
||||
|
||||
/**
|
||||
* Represents a bug inside the driver or in a Cassandra host.
|
||||
* @param {String} message
|
||||
* @constructor
|
||||
*/
|
||||
function DriverInternalError(message) {
|
||||
DriverError.call(this, message);
|
||||
this.info = 'Represents a bug inside the driver or in a Cassandra host.';
|
||||
}
|
||||
|
||||
util.inherits(DriverInternalError, DriverError);
|
||||
|
||||
/**
|
||||
* Represents an error when trying to authenticate with auth-enabled host
|
||||
* @param {String} message
|
||||
* @constructor
|
||||
*/
|
||||
function AuthenticationError(message) {
|
||||
DriverError.call(this, message);
|
||||
this.info = 'Represents an authentication error from the driver or from a Cassandra node.';
|
||||
}
|
||||
|
||||
util.inherits(AuthenticationError, DriverError);
|
||||
|
||||
/**
|
||||
* Represents an error that is raised when one of the arguments provided to a method is not valid
|
||||
* @param {String} message
|
||||
* @constructor
|
||||
*/
|
||||
function ArgumentError(message) {
|
||||
DriverError.call(this, message);
|
||||
this.info = 'Represents an error that is raised when one of the arguments provided to a method is not valid.';
|
||||
}
|
||||
|
||||
util.inherits(ArgumentError, DriverError);
|
||||
|
||||
/**
|
||||
* Represents a client-side error that is raised when the client didn't hear back from the server within
|
||||
* {@link ClientOptions.socketOptions.readTimeout}.
|
||||
* @param {String} message The error message.
|
||||
* @param {String} [host] Address of the server host that caused the operation to time out.
|
||||
* @constructor
|
||||
*/
|
||||
function OperationTimedOutError(message, host) {
|
||||
DriverError.call(this, message, this.constructor);
|
||||
this.info = 'Represents a client-side error that is raised when the client did not hear back from the server ' +
|
||||
'within socketOptions.readTimeout';
|
||||
|
||||
/**
|
||||
* When defined, it gets the address of the host that caused the operation to time out.
|
||||
* @type {String|undefined}
|
||||
*/
|
||||
this.host = host;
|
||||
}
|
||||
|
||||
util.inherits(OperationTimedOutError, DriverError);
|
||||
|
||||
/**
|
||||
* Represents an error that is raised when a feature is not supported in the driver or in the current Cassandra version.
|
||||
* @param message
|
||||
* @constructor
|
||||
*/
|
||||
function NotSupportedError(message) {
|
||||
DriverError.call(this, message, this.constructor);
|
||||
this.info = 'Represents a feature that is not supported in the driver or in the Cassandra version.';
|
||||
}
|
||||
|
||||
util.inherits(NotSupportedError, DriverError);
|
||||
|
||||
/**
|
||||
* Represents a client-side error indicating that all connections to a certain host have reached
|
||||
* the maximum amount of in-flight requests supported.
|
||||
* @param {String} address
|
||||
* @param {Number} maxRequestsPerConnection
|
||||
* @param {Number} connectionLength
|
||||
* @constructor
|
||||
*/
|
||||
function BusyConnectionError(address, maxRequestsPerConnection, connectionLength) {
|
||||
const message = util.format('All connections to host %s are busy, %d requests are in-flight on %s',
|
||||
address, maxRequestsPerConnection, connectionLength === 1 ? 'a single connection': 'each connection');
|
||||
DriverError.call(this, message, this.constructor);
|
||||
this.info = 'Represents a client-side error indicating that all connections to a certain host have reached ' +
|
||||
'the maximum amount of in-flight requests supported (pooling.maxRequestsPerConnection)';
|
||||
}
|
||||
|
||||
util.inherits(BusyConnectionError, DriverError);
|
||||
|
||||
exports.ArgumentError = ArgumentError;
|
||||
exports.AuthenticationError = AuthenticationError;
|
||||
exports.BusyConnectionError = BusyConnectionError;
|
||||
exports.DriverError = DriverError;
|
||||
exports.OperationTimedOutError = OperationTimedOutError;
|
||||
exports.DriverInternalError = DriverInternalError;
|
||||
exports.NoHostAvailableError = NoHostAvailableError;
|
||||
exports.NotSupportedError = NotSupportedError;
|
||||
exports.ResponseError = ResponseError;
|
Reference in New Issue
Block a user