Skip to content

Commit

Permalink
deprecate things with depd module
Browse files Browse the repository at this point in the history
  • Loading branch information
dougwilson committed Jun 17, 2014
1 parent d877807 commit 2f8e289
Show file tree
Hide file tree
Showing 9 changed files with 34 additions and 57 deletions.
1 change: 1 addition & 0 deletions History.md
@@ -1,6 +1,7 @@
2.x
===

* deprecate things with `depd` module
* use `finalhandler` for final response handling
* deps: connect-timeout@1.1.1
- deps: debug@1.0.2
Expand Down
3 changes: 2 additions & 1 deletion lib/middleware/limit.js
Expand Up @@ -9,6 +9,7 @@
* Module dependencies.
*/

var deprecate = require('depd')('connect');
var parseBytes = require('bytes');
var utils = require('../utils');
var brokenPause = utils.brokenPause;
Expand Down Expand Up @@ -85,5 +86,5 @@ module.exports = function limit(bytes){
};
};

module.exports = utils.deprecate(module.exports,
module.exports = deprecate.function(module.exports,
'limit: Restrict request size at location of read');
4 changes: 2 additions & 2 deletions lib/middleware/methodOverride.js
Expand Up @@ -9,8 +9,8 @@
* Module dependencies.
*/

var deprecate = require('depd')('connect');
var methodOverride = require('method-override');
var utils = require('../utils');

/**
* Method Override:
Expand Down Expand Up @@ -43,5 +43,5 @@ module.exports = function(key){
};
};

module.exports = utils.deprecate(module.exports,
module.exports = deprecate.function(module.exports,
'methodOverride: use method-override module directly');
4 changes: 2 additions & 2 deletions lib/middleware/multipart.js
Expand Up @@ -9,10 +9,10 @@
* Module dependencies.
*/

var deprecate = require('depd')('connect');
var multiparty = require('multiparty')
, typeis = require('type-is')
, _limit = require('./limit')
, utils = require('../utils')
, qs = require('qs');

/**
Expand Down Expand Up @@ -164,5 +164,5 @@ exports = module.exports = function(options){
}
};

module.exports = utils.deprecate(module.exports,
module.exports = deprecate.function(module.exports,
'multipart: use parser (multiparty, busboy, formidable) directly');
3 changes: 2 additions & 1 deletion lib/middleware/staticCache.js
Expand Up @@ -9,6 +9,7 @@
* Module dependencies.
*/

var deprecate = require('depd')('connect');
var utils = require('../utils')
, parseurl = require('parseurl')
, Cache = require('../cache')
Expand Down Expand Up @@ -140,7 +141,7 @@ module.exports = function staticCache(options){
}
};

module.exports = utils.deprecate(module.exports,
module.exports = deprecate.function(module.exports,
'staticCache: use varnish or similar reverse proxy caches');

/**
Expand Down
15 changes: 6 additions & 9 deletions lib/patch.js
Expand Up @@ -10,20 +10,14 @@
*/

var cookie = require('cookie');
var deprecate = require('depd')('connect');
var http = require('http');
var onHeaders = require('on-headers');
var utils = require('./utils')
, res = http.ServerResponse.prototype
, addListener = res.addListener
, setHeader = res.setHeader;

/**
* Deprecated proxy for .on('header', ...)
*/

var attachHeaderListener = utils.deprecate(onHeaders,
'res.on("header"): use on-headers module directly');

// apply only once

if (!res._hasConnectPatch) {
Expand All @@ -39,9 +33,11 @@ if (!res._hasConnectPatch) {
Object.defineProperty(res, 'headerSent', {
configurable: true,
enumerable: true,
get: utils.deprecate(headersSent, 'res.headerSent: use standard res.headersSent')
get: headersSent
});

deprecate.property(res, 'headerSent', 'res.headerSent: use standard res.headersSent');

if (!('headersSent' in res)) {

/**
Expand Down Expand Up @@ -135,7 +131,8 @@ if (!res._hasConnectPatch) {

res.on = function(type, listener){
if (type === 'header') {
attachHeaderListener(this, listener);
deprecate('res.on("header"): use on-headers module directly');
onHeaders(this, listener);
return this;
}

Expand Down
59 changes: 17 additions & 42 deletions lib/utils.js
Expand Up @@ -10,13 +10,13 @@
* Module dependencies.
*/

var deprecate = require('depd')('connect');
var http = require('http')
, crypto = require('crypto')
, parseurl = require('parseurl')
, sep = require('path').sep
, signature = require('cookie-signature')
, typeis = require('type-is')
, deprecate = require('util').deprecate
, nodeVersion = process.versions.node.split('.');

/**
Expand All @@ -30,31 +30,6 @@ var charsetRegExp = /;\s*charset\s*=/;
exports.brokenPause = parseInt(nodeVersion[0], 10) === 0
&& parseInt(nodeVersion[1], 10) < 10;


/**
* Deprecate function, like core `util.deprecate`,
* but with NODE_ENV and color support.
*
* @param {Function} fn
* @param {String} msg
* @return {Function}
* @api private
*/

exports.deprecate = function(fn, msg){
if (process.env.NODE_ENV === 'test') return fn;

// prepend module name
msg = 'connect: ' + msg;

if (process.stderr.isTTY) {
// colorize
msg = '\x1b[31;1m' + msg + '\x1b[0m';
}

return deprecate(fn, msg);
};

/**
* Return `true` if the request has a body, otherwise return `false`.
*
Expand All @@ -63,7 +38,7 @@ exports.deprecate = function(fn, msg){
* @api private
*/

exports.hasBody = exports.deprecate(typeis.hasBody,
exports.hasBody = deprecate.function(typeis.hasBody,
'utils.hasBody: use type-is module directly');

/**
Expand All @@ -81,7 +56,7 @@ exports.mime = function(req) {
return ~i ? str.slice(0, i) : str;
};

exports.mime = exports.deprecate(exports.mime,
exports.mime = deprecate.function(exports.mime,
'utils.mime: use type-is directly for mime comparisons');

/**
Expand Down Expand Up @@ -120,7 +95,7 @@ exports.md5 = function(str, encoding){
.digest(encoding || 'hex');
};

exports.md5 = exports.deprecate(exports.md5,
exports.md5 = deprecate.function(exports.md5,
'utils.md5: use crypto directly for hashing');

/**
Expand Down Expand Up @@ -163,7 +138,7 @@ exports.escape = function(html){
.replace(/"/g, '&quot;');
};

exports.escape = exports.deprecate(exports.escape,
exports.escape = deprecate.function(exports.escape,
'utils.escape: use escape-html module directly');

/**
Expand All @@ -175,7 +150,7 @@ exports.escape = exports.deprecate(exports.escape,
* @api private
*/

exports.sign = exports.deprecate(signature.sign,
exports.sign = deprecate.function(signature.sign,
'utils.sign: use cookie-signature module directly');

/**
Expand All @@ -188,7 +163,7 @@ exports.sign = exports.deprecate(signature.sign,
* @api private
*/

exports.unsign = exports.deprecate(signature.unsign,
exports.unsign = deprecate.function(signature.unsign,
'utils.unsign: use cookie-signature module directly');

/**
Expand Down Expand Up @@ -216,7 +191,7 @@ exports.parseSignedCookies = function(obj, secret){
return ret;
};

exports.parseSignedCookies = exports.deprecate(exports.parseSignedCookies,
exports.parseSignedCookies = deprecate.function(exports.parseSignedCookies,
'utils.parseSignedCookies: this private api moved with cookie-parser');

/**
Expand Down Expand Up @@ -251,7 +226,7 @@ exports.parseJSONCookies = function(obj){
return obj;
};

exports.parseJSONCookies = exports.deprecate(exports.parseJSONCookies,
exports.parseJSONCookies = deprecate.function(exports.parseJSONCookies,
'utils.parseJSONCookies: this private api moved with cookie-parser');

/**
Expand Down Expand Up @@ -317,7 +292,7 @@ exports.removeContentHeaders = function(res){
});
};

exports.removeContentHeaders = exports.deprecate(exports.removeContentHeaders,
exports.removeContentHeaders = deprecate.function(exports.removeContentHeaders,
'utils.removeContentHeaders: this private api moved with serve-static');

/**
Expand All @@ -333,7 +308,7 @@ exports.conditionalGET = function(req) {
|| req.headers['if-none-match'];
};

exports.conditionalGET = exports.deprecate(exports.conditionalGET,
exports.conditionalGET = deprecate.function(exports.conditionalGET,
'utils.conditionalGET: use fresh module directly');

/**
Expand All @@ -350,7 +325,7 @@ exports.unauthorized = function(res, realm) {
res.end('Unauthorized');
};

exports.unauthorized = exports.deprecate(exports.unauthorized,
exports.unauthorized = deprecate.function(exports.unauthorized,
'utils.unauthorized: this private api moved with basic-auth-connect');

/**
Expand All @@ -367,7 +342,7 @@ exports.notModified = function(res) {
res.end();
};

exports.notModified = exports.deprecate(exports.notModified,
exports.notModified = deprecate.function(exports.notModified,
'utils.notModified: this private api moved with serve-static');

/**
Expand All @@ -383,7 +358,7 @@ exports.etag = function(stat) {
return '"' + stat.size + '-' + Number(stat.mtime) + '"';
};

exports.etag = exports.deprecate(exports.etag,
exports.etag = deprecate.function(exports.etag,
'utils.etag: this private api moved with serve-static');

/**
Expand Down Expand Up @@ -417,7 +392,7 @@ exports.parseCacheControl = function(str){
* @api private
*/

exports.parseUrl = exports.deprecate(parseurl,
exports.parseUrl = deprecate.function(parseurl,
'utils.parseUrl: use parseurl module directly');

/**
Expand All @@ -430,7 +405,7 @@ exports.parseUrl = exports.deprecate(parseurl,

exports.parseBytes = require('bytes');

exports.parseBytes = exports.deprecate(exports.parseBytes,
exports.parseBytes = deprecate.function(exports.parseBytes,
'utils.parseBytes: use bytes module directly');

/**
Expand All @@ -446,7 +421,7 @@ exports.normalizeSlashes = function normalizeSlashes(path) {
return path.split(sep).join('/');
};

exports.normalizeSlashes = exports.deprecate(exports.normalizeSlashes,
exports.normalizeSlashes = deprecate.function(exports.normalizeSlashes,
'utils.normalizeSlashes: this private api moved with serve-index');

/**
Expand Down
1 change: 1 addition & 0 deletions package.json
Expand Up @@ -27,6 +27,7 @@
"connect-timeout": "1.1.1",
"csurf": "1.2.1",
"debug": "1.0.2",
"depd": "0.3.0",
"errorhandler": "1.1.0",
"express-session": "1.3.1",
"finalhandler": "0.0.1",
Expand Down
1 change: 1 addition & 0 deletions test/support/env.js
@@ -1,2 +1,3 @@

process.env.NODE_ENV = 'test';
process.env.NO_DEPRECATION = 'connect';

0 comments on commit 2f8e289

Please sign in to comment.