Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
express-batch-requests
Advanced tools
Readme
A simple way to add HTTP batch request support to your node API using express middleware.
Batching HTTP requests allows client applications to issue multiple HTTP requests to your API using just one HTTP request - reducing network chatter, latency etc. This middleware extracts and executes each request individually, either in parallel or in series, and returns the result of each request as an array item.
npm install --save express-batch-requests
var express = require('express');
var server = express();
var expressBatchRequests = require('express-batch-requests');
// mount the batch handler middleware
server.post('/batch', expressBatchRequests);
// typical API route 1
server.get('/route1', function (req, res) {
res.send("Hello World");
});
// typical API route 2
server.post('/route2', function (req, res) {
res.json({
fullName: req.body.firstName + ' ' + req.body.lastName
});
});
// start the server
server.listen(8080, function () {
console.log('Web server listening on port 8080');
});
Requests are executed in parallel by default, to execute them in series add executeInSeries: true
. Likewise, to include the original request object with each result add includeRequestsInResponse: true
to the request.
To copy HTTP headers from the batch request onto each of the batch request such as authorization, add mergeHeaders
with a string containing a comma separated list of header names (in lower case).
{
"executeInSeries": true,
"includeRequestsInResponse": true,
"mergeHeaders": "authorization, x-requested-by",
"batch": [
{
"url": "/route1",
"method": "GET"
},
{
"url": "/route2",
"method": "POST",
"headers": {
"User-Agent": "space-command"
},
"body": {
"firstName": "Buzz",
"lastName": "Lightyear"
}
}
]
}
[
{
"request": {
"url": "/route1",
"method": "GET"
},
"response": {
"code": 200,
"headers": {
"content-type": "text/plain"
},
"body": "Hello World"
}
},
{
"request": {
"url": "/route2",
"method": "POST",
"headers": {
"User-Agent": "space-command"
},
"body": {
"firstName": "Buzz",
"lastName": "Lightyear"
}
},
"response": {
"code": 200,
"headers": {
"content-type": "application/json"
},
"body": {
"fullName": "Buzz Lightyear"
}
}
}
]
If you find this useful star the repo as it helps me prioritize which bugs to tackle first.
For change-log, check releases.
Licensed under MIT License © John Doherty
FAQs
Express middleware to process batch HTTP requests
The npm package express-batch-requests receives a total of 5 weekly downloads. As such, express-batch-requests popularity was classified as not popular.
We found that express-batch-requests demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.