Use body-parser from old connect module
This commit is contained in:
parent
025b3f3cc7
commit
6309318534
141
app/middlewares/body-parser.js
Normal file
141
app/middlewares/body-parser.js
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
|
||||||
|
/*!
|
||||||
|
* Connect - bodyParser
|
||||||
|
* Copyright(c) 2010 Sencha Inc.
|
||||||
|
* Copyright(c) 2011 TJ Holowaychuk
|
||||||
|
* MIT Licensed
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Module dependencies.
|
||||||
|
*/
|
||||||
|
|
||||||
|
var qs = require('qs');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Extract the mime type from the given request's
|
||||||
|
* _Content-Type_ header.
|
||||||
|
*
|
||||||
|
* @param {IncomingMessage} req
|
||||||
|
* @return {String}
|
||||||
|
* @api private
|
||||||
|
*/
|
||||||
|
|
||||||
|
function mime(req) {
|
||||||
|
var str = req.headers['content-type'] || '';
|
||||||
|
return str.split(';')[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parse request bodies.
|
||||||
|
*
|
||||||
|
* By default _application/json_, _application/x-www-form-urlencoded_,
|
||||||
|
* and _multipart/form-data_ are supported, however you may map `connect.bodyParser.parse[contentType]`
|
||||||
|
* to a function receiving `(req, options, callback)`.
|
||||||
|
*
|
||||||
|
* Examples:
|
||||||
|
*
|
||||||
|
* connect.createServer(
|
||||||
|
* connect.bodyParser()
|
||||||
|
* , function(req, res) {
|
||||||
|
* res.end('viewing user ' + req.body.user.name);
|
||||||
|
* }
|
||||||
|
* );
|
||||||
|
*
|
||||||
|
* $ curl -d 'user[name]=tj' http://localhost/
|
||||||
|
* $ curl -d '{"user":{"name":"tj"}}' -H "Content-Type: application/json" http://localhost/
|
||||||
|
*
|
||||||
|
* Multipart req.files:
|
||||||
|
*
|
||||||
|
* As a security measure files are stored in a separate object, stored
|
||||||
|
* as `req.files`. This prevents attacks that may potentially alter
|
||||||
|
* filenames, and depending on the application gain access to restricted files.
|
||||||
|
*
|
||||||
|
* Multipart configuration:
|
||||||
|
*
|
||||||
|
* The `options` passed are provided to each parser function.
|
||||||
|
* The _multipart/form-data_ parser merges these with formidable's
|
||||||
|
* IncomingForm object, allowing you to tweak the upload directory,
|
||||||
|
* size limits, etc. For example you may wish to retain the file extension
|
||||||
|
* and change the upload directory:
|
||||||
|
*
|
||||||
|
* server.use(bodyParser({ uploadDir: '/www/mysite.com/uploads' }));
|
||||||
|
*
|
||||||
|
* View [node-formidable](https://github.com/felixge/node-formidable) for more information.
|
||||||
|
*
|
||||||
|
* If you wish to use formidable directly within your app, and do not
|
||||||
|
* desire this behaviour for multipart requests simply remove the
|
||||||
|
* parser:
|
||||||
|
*
|
||||||
|
* delete connect.bodyParser.parse['multipart/form-data'];
|
||||||
|
*
|
||||||
|
* Or
|
||||||
|
*
|
||||||
|
* delete express.bodyParser.parse['multipart/form-data'];
|
||||||
|
*
|
||||||
|
* @param {Object} options
|
||||||
|
* @return {Function}
|
||||||
|
* @api public
|
||||||
|
*/
|
||||||
|
|
||||||
|
exports = module.exports = function bodyParser(options){
|
||||||
|
options = options || {};
|
||||||
|
return function bodyParser(req, res, next) {
|
||||||
|
if (req.body) {
|
||||||
|
return next();
|
||||||
|
}
|
||||||
|
req.body = {};
|
||||||
|
|
||||||
|
if ('GET' === req.method || 'HEAD' === req.method) {
|
||||||
|
return next();
|
||||||
|
}
|
||||||
|
var parser = exports.parse[mime(req)];
|
||||||
|
if (parser) {
|
||||||
|
parser(req, options, next);
|
||||||
|
} else {
|
||||||
|
next();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
exports.parse = {};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parse application/x-www-form-urlencoded.
|
||||||
|
*/
|
||||||
|
|
||||||
|
exports.parse['application/x-www-form-urlencoded'] = function(req, options, fn){
|
||||||
|
var buf = '';
|
||||||
|
req.setEncoding('utf8');
|
||||||
|
req.on('data', function(chunk){ buf += chunk; });
|
||||||
|
req.on('end', function(){
|
||||||
|
try {
|
||||||
|
req.body = buf.length ? qs.parse(buf) : {};
|
||||||
|
fn();
|
||||||
|
} catch (err){
|
||||||
|
fn(err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parse application/json.
|
||||||
|
*/
|
||||||
|
|
||||||
|
exports.parse['application/json'] = function(req, options, fn){
|
||||||
|
var buf = '';
|
||||||
|
req.setEncoding('utf8');
|
||||||
|
req.on('data', function(chunk){ buf += chunk; });
|
||||||
|
req.on('end', function(){
|
||||||
|
try {
|
||||||
|
req.body = buf.length ? JSON.parse(buf) : {};
|
||||||
|
fn();
|
||||||
|
} catch (err){
|
||||||
|
fn(err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
@ -15,7 +15,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
var express = require('express');
|
var express = require('express');
|
||||||
var bodyParser = require('body-parser');
|
var bodyParser = require('./middlewares/body-parser');
|
||||||
var os = require('os');
|
var os = require('os');
|
||||||
var Profiler = require('./stats/profiler-proxy');
|
var Profiler = require('./stats/profiler-proxy');
|
||||||
var StatsD = require('node-statsd').StatsD;
|
var StatsD = require('node-statsd').StatsD;
|
||||||
@ -171,9 +171,7 @@ function App() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
app.use(bodyParser.json({ limit: '20mb' }));
|
app.use(bodyParser());
|
||||||
app.use(bodyParser.urlencoded({ extended: true, limit: '20mb' }));
|
|
||||||
app.use(bodyParser.raw({ limit: '20mb' }));
|
|
||||||
app.enable('jsonp callback');
|
app.enable('jsonp callback');
|
||||||
app.set("trust proxy", true);
|
app.set("trust proxy", true);
|
||||||
app.disable('x-powered-by');
|
app.disable('x-powered-by');
|
||||||
|
111
npm-shrinkwrap.json
generated
111
npm-shrinkwrap.json
generated
@ -2,108 +2,6 @@
|
|||||||
"name": "cartodb_sql_api",
|
"name": "cartodb_sql_api",
|
||||||
"version": "1.37.1",
|
"version": "1.37.1",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"body-parser": {
|
|
||||||
"version": "1.14.2",
|
|
||||||
"from": "body-parser@>=1.14.2 <1.15.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz",
|
|
||||||
"dependencies": {
|
|
||||||
"bytes": {
|
|
||||||
"version": "2.2.0",
|
|
||||||
"from": "bytes@2.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz"
|
|
||||||
},
|
|
||||||
"content-type": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"from": "content-type@>=1.0.1 <1.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz"
|
|
||||||
},
|
|
||||||
"depd": {
|
|
||||||
"version": "1.1.0",
|
|
||||||
"from": "depd@>=1.1.0 <1.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz"
|
|
||||||
},
|
|
||||||
"http-errors": {
|
|
||||||
"version": "1.3.1",
|
|
||||||
"from": "http-errors@>=1.3.1 <1.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
|
|
||||||
"dependencies": {
|
|
||||||
"inherits": {
|
|
||||||
"version": "2.0.3",
|
|
||||||
"from": "inherits@>=2.0.1 <2.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
|
|
||||||
},
|
|
||||||
"statuses": {
|
|
||||||
"version": "1.3.0",
|
|
||||||
"from": "statuses@>=1.0.0 <2.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"iconv-lite": {
|
|
||||||
"version": "0.4.13",
|
|
||||||
"from": "iconv-lite@0.4.13",
|
|
||||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz"
|
|
||||||
},
|
|
||||||
"on-finished": {
|
|
||||||
"version": "2.3.0",
|
|
||||||
"from": "on-finished@>=2.3.0 <2.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
|
|
||||||
"dependencies": {
|
|
||||||
"ee-first": {
|
|
||||||
"version": "1.1.1",
|
|
||||||
"from": "ee-first@1.1.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"qs": {
|
|
||||||
"version": "5.2.0",
|
|
||||||
"from": "qs@5.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz"
|
|
||||||
},
|
|
||||||
"raw-body": {
|
|
||||||
"version": "2.1.7",
|
|
||||||
"from": "raw-body@>=2.1.5 <2.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
|
|
||||||
"dependencies": {
|
|
||||||
"bytes": {
|
|
||||||
"version": "2.4.0",
|
|
||||||
"from": "bytes@2.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz"
|
|
||||||
},
|
|
||||||
"unpipe": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"from": "unpipe@1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type-is": {
|
|
||||||
"version": "1.6.13",
|
|
||||||
"from": "type-is@>=1.6.10 <1.7.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz",
|
|
||||||
"dependencies": {
|
|
||||||
"media-typer": {
|
|
||||||
"version": "0.3.0",
|
|
||||||
"from": "media-typer@0.3.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
|
|
||||||
},
|
|
||||||
"mime-types": {
|
|
||||||
"version": "2.1.12",
|
|
||||||
"from": "mime-types@>=2.1.11 <2.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.12.tgz",
|
|
||||||
"dependencies": {
|
|
||||||
"mime-db": {
|
|
||||||
"version": "1.24.0",
|
|
||||||
"from": "mime-db@>=1.24.0 <1.25.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.24.0.tgz"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bunyan": {
|
"bunyan": {
|
||||||
"version": "1.8.1",
|
"version": "1.8.1",
|
||||||
"from": "bunyan@1.8.1",
|
"from": "bunyan@1.8.1",
|
||||||
@ -624,6 +522,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"qs": {
|
||||||
|
"version": "6.2.1",
|
||||||
|
"from": "qs@>=6.2.1 <6.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/qs/-/qs-6.2.1.tgz"
|
||||||
|
},
|
||||||
"queue-async": {
|
"queue-async": {
|
||||||
"version": "1.0.7",
|
"version": "1.0.7",
|
||||||
"from": "queue-async@>=1.0.7 <1.1.0",
|
"from": "queue-async@>=1.0.7 <1.1.0",
|
||||||
@ -709,7 +612,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"strip-ansi": {
|
"strip-ansi": {
|
||||||
"version": "3.0.1",
|
"version": "3.0.1",
|
||||||
"from": "strip-ansi@>=3.0.1 <4.0.0",
|
"from": "strip-ansi@>=3.0.0 <4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-regex": {
|
"ansi-regex": {
|
||||||
@ -986,7 +889,7 @@
|
|||||||
},
|
},
|
||||||
"strip-ansi": {
|
"strip-ansi": {
|
||||||
"version": "3.0.1",
|
"version": "3.0.1",
|
||||||
"from": "strip-ansi@>=3.0.1 <4.0.0",
|
"from": "strip-ansi@>=3.0.0 <4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-regex": {
|
"ansi-regex": {
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
"Sandro Santilli <strk@vizzuality.com>"
|
"Sandro Santilli <strk@vizzuality.com>"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"body-parser": "~1.14.2",
|
|
||||||
"bunyan": "1.8.1",
|
"bunyan": "1.8.1",
|
||||||
"cartodb-psql": "~0.6.0",
|
"cartodb-psql": "~0.6.0",
|
||||||
"cartodb-query-tables": "0.2.0",
|
"cartodb-query-tables": "0.2.0",
|
||||||
@ -29,6 +28,7 @@
|
|||||||
"node-statsd": "~0.0.7",
|
"node-statsd": "~0.0.7",
|
||||||
"node-uuid": "^1.4.7",
|
"node-uuid": "^1.4.7",
|
||||||
"oauth-client": "0.3.0",
|
"oauth-client": "0.3.0",
|
||||||
|
"qs": "~6.2.1",
|
||||||
"queue-async": "~1.0.7",
|
"queue-async": "~1.0.7",
|
||||||
"redis-mpool": "0.4.0",
|
"redis-mpool": "0.4.0",
|
||||||
"step": "~0.0.5",
|
"step": "~0.0.5",
|
||||||
@ -45,7 +45,6 @@
|
|||||||
"jshint": "~2.6.0",
|
"jshint": "~2.6.0",
|
||||||
"zipfile": "~0.5.0",
|
"zipfile": "~0.5.0",
|
||||||
"libxmljs": "~0.8.1",
|
"libxmljs": "~0.8.1",
|
||||||
"qs": "6.2.0",
|
|
||||||
"sqlite3": "~3.0.8"
|
"sqlite3": "~3.0.8"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
Loading…
Reference in New Issue
Block a user