🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

common-errors

Package Overview
Dependencies
Maintainers
1
Versions
47
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

common-errors - npm Package Compare versions

Comparing version

to
0.5.2

tests/http-status.js

14

lib/helpers/class-generator.js

@@ -29,5 +29,13 @@ var util = require('util');

var classGeneratorFn = new Function('classConstructor',
"return function " + name + "(" + options.args.join(', ') + "){ classConstructor.apply(this, arguments); };"
);
var classGeneratorFn = new Function('classConstructor', [
"return function ", name, "(", options.args.join(', '), "){",
"if(!(this instanceof ", name, ")) {",
"var instance = Object.create(", name, ".prototype);",
"classConstructor.apply(instance, arguments);",
"return instance;",
"} else {",
"classConstructor.apply(this, arguments);",
"}",
"};",
].join(''));
var Class = classGeneratorFn(classConstructor);

@@ -34,0 +42,0 @@

@@ -0,2 +1,4 @@

var http = require('http');
var util = require('util');
var _ = require('lodash');

@@ -6,2 +8,8 @@ var STATUS_CODE_ATTRIBUTE_NAME = module.exports.STATUS_CODE_ATTRIBUTE_NAME = 'status';

var HttpStatusError = module.exports = function HttpStatusError(status_code, message) {
if(!(this instanceof HttpStatusError)) {
var instance = Object.create(HttpStatusError.prototype);
HttpStatusError.apply(instance, arguments);
return instance;
}
if(typeof message == 'number' && typeof status_code != 'number') {

@@ -57,29 +65,2 @@ //old interface, so swap.

var message_map = HttpStatusError.message_map = {
400: "Bad Request!",
401: "Authentication Required!",
402: "Payment Required!",
403: "Forbidden!",
404: "Not Found!",
405: "Method not Allowed!",
406: "Response Type Not Acceptable!",
407: "Proxy Authentication Required!",
408: "Request Timeout!",
409: "Conflict!",
410: "Gone!",
411: "Content-Length Required!",
412: "Precondition Failed!",
413: "Request Entity Too Lage!",
414: "Request URI Too Long!",
415: "Unsupported Media Type!",
416: "Requested Range Not Satisfiable!",
417: "Expectation Failed!",
429: "Too Many Requests!",
500: "Internal Server Error!",
501: "Not Implemented!",
502: "Bad Gateway!",
503: "Service Unavailable!",
504: "Gateway Timeout!",
505: "HTTP Version Not Supported!"
};
var message_map = HttpStatusError.message_map = _.extend({}, http.STATUS_CODES);

@@ -5,4 +5,4 @@ var generateClass = require('./helpers/class-generator');

generateMessage: function(){
return "An attempt was made to perform an operation that is invalid: " + this.message;
return "An attempt was made to perform an operation that is not permitted: " + this.message;
}
})

@@ -5,3 +5,3 @@ {

"description": "Common error classes and utility functions",
"version": "0.5.1",
"version": "0.5.2",
"repository": {

@@ -8,0 +8,0 @@ "type": "git",

@@ -179,3 +179,3 @@ common-errors

// Example
throw new errors.DataError('Too many rows returned from database', err);
throw new errors.data.DataError('Too many rows returned from database', err);
```

@@ -199,3 +199,3 @@

// Example
throw new errors.MemcachedError('Expected value not found', err);
throw new errors.data.MemcachedError('Expected value not found', err);
```

@@ -219,3 +219,3 @@

// Example
throw new errors.MongoDBError('Retrieved value not in expected format', err);
throw new errors.data.MongoDBError('Retrieved value not in expected format', err);
```

@@ -239,3 +239,3 @@

// Example
throw new errors.RedisError('expected value not found in redis', err);
throw new errors.data.RedisError('expected value not found in redis', err);
```

@@ -259,3 +259,3 @@

// Example
throw new errors.RollbackError('database transaction was unexpectedly rolled back', err);
throw new errors.data.RollbackError('database transaction was unexpectedly rolled back', err);
```

@@ -279,3 +279,3 @@

// Example
throw new errors.SQLError('foreign key constraint violated', err);
throw new errors.data.SQLError('foreign key constraint violated', err);
```

@@ -299,3 +299,3 @@

// Example
throw new errors.TransactionError('transaction already complete', err);
throw new errors.data.TransactionError('transaction already complete', err);
```

@@ -302,0 +302,0 @@

@@ -34,3 +34,3 @@ var assert = require('assert');

assert.equal(res.res.statusCode, 403);
assert.equal(res.text, "An attempt was made to perform an operation that is invalid: don't do that");
assert.equal(res.text, "An attempt was made to perform an operation that is not permitted: don't do that");
assert.ok(!console.error.called, "console.error not called");

@@ -135,3 +135,3 @@ done();

assert.equal(res.res.statusCode, 500);
assert.equal(res.text, "Internal Server Error!");
assert.equal(res.text, "Internal Server Error");
assert.ok(console.error.called);

@@ -148,3 +148,3 @@ assert.ok(/test/.test(console.error.getCall(0).args[0]));

assert.equal(res.res.statusCode, 544);
assert.equal(res.text, "Internal Server Error!");
assert.equal(res.text, "Internal Server Error");
assert.ok(console.error.called);

@@ -160,3 +160,3 @@ assert.ok(/test/.test(console.error.getCall(0).args[0]));

assert.equal(res.res.statusCode, 544);
assert.equal(res.text, "Internal Server Error!");
assert.equal(res.text, "Internal Server Error");
assert.ok(console.error.called);

@@ -172,3 +172,3 @@ assert.ok(/custom status message/.test(console.error.getCall(0).args[0]));

assert.equal(res.res.statusCode, 544);
assert.equal(res.text, "Internal Server Error!");
assert.equal(res.text, "Internal Server Error");
assert.ok(console.error.called);

@@ -175,0 +175,0 @@ assert.ok(/custom status message/.test(console.error.getCall(0).args[0]));

var support = require('./support');
support.testError('NotPermittedError', {
message_to_assert: "An attempt was made to perform an operation that is invalid: test message"
message_to_assert: "An attempt was made to perform an operation that is not permitted: test message"
});

@@ -11,16 +11,30 @@ var assert = require('assert');

function performAssertions(Err, error) {
assert.equal(error.name, name), 'Its name is correct.';
assert.equal(error.message, opts.message_to_assert);
assert.ok(new RegExp(error.name + ": " + error.message + "\n(.*\n)+").test(error.stack), "Stack is good");
assert.equal(Err.super_.name, opts.extends.name, "It is an instance of" + opts.extends.name);
assert.ok(error instanceof Error, opts.extends, "It is an instanceof " + opts.extends.name);
}
describe(name, function(){
var Err = errors;
(opts.full_name).split('.').forEach(function(dir){ Err = Err[dir]; });
it("should work", function(){
var Err = errors;
(opts.full_name).split('.').forEach(function(dir){ Err = Err[dir]; });
assert.ok(Err, name + " exists.");
var inner_error = new Error("inner error");
var error = new Err(opts.message);
assert.equal(error.name, name), 'Its name is correct.';
assert.equal(error.message, opts.message_to_assert);
assert.ok(new RegExp(error.name + ": " + error.message + "\n(.*\n)+").test(error.stack), "Stack is good");
assert.equal(Err.super_.name, opts.extends.name, "It is an instance of" + opts.extends.name);
assert.ok(error instanceof Error, opts.extends, "It is an instanceof " + opts.extends.name);
performAssertions(Err, error);
});
it("should work without new", function(){
assert.ok(Err, name + " exists.");
var inner_error = new Error("inner error");
var error = Err(opts.message);
performAssertions(Err, error);
});
});
}