
Research
Namastex.ai npm Packages Hit with TeamPCP-Style CanisterWorm Malware
Malicious Namastex.ai npm packages appear to replicate TeamPCP-style Canister Worm tradecraft, including exfiltration and self-propagation.
sails-hook-responders
Advanced tools
This is a installable sailsjs hook that attaches policy like methods, called responders, to controller actions.
npm install sails-hook-responders --save
api/responders, with the signature/**
* Create users API token and add it to the response
*
* @param {Object} req The request object
* @param {Object} res The response object
* @param {Object} data Data for the request. Global to all responders
* @param {Object} options Response options, include what kind of response to send. Global to all responders
* @param {Function} next [description]
*/
module.exports = function (req, res, data, options, next) {
// Do something
// Add any data you want sent back to the user to data object
// For example,
// data.response = 'Hi, this message was generated in a responder';
// Set the type of response you want to be used
// options.method = 'ok';
// options is optional. By default it is set to `serverError` if there was an error,
// else to `json`
// If there is an error, call next with the error
// next(err);
var token;
// Generate token
data.token = token;
next();
};
config/responders.js/**
* Mapping responders to a controller action
* @type {Object}
*/
module.exports.responders = {
UserController: {
// responders should be put in an array, in the order they are meant to be run
create: ['generateApiToken', 'sendWelcomeEmail'],
// though if you only have one responder for an action, you can just use a string
delete: 'sendGoodbyeEmail'
},
...
...
};
A method, respond, is attached to the res object. It runs all the responders attached to a controller action
and sends the response back to the user. If no responder has been attached, it will simply return res.ok
/**
* User controller
*/
/**
* The user controller
* @type {Object}
*/
module.exports = {
create: function (req, res) {
// create user
var data = {
id: user.id,
name: user.name
};
// options is optional, and so is data
return res.respond(data);
},
delete: function (req, res) {
// delete the user
var data = {
id: deletedUser.id
name: deletedUser.name,
message: 'Sorry to see you go ' + deletedUser.name
};
// You can pass a custom callback to `res.respond`, which will be called after the responders have been run
return res.respond(data, function (err, req, res, data, options) {
return res.view('user/goodbye', data);
});
},
...
...
};
This project is licensed under the Apache 2.0 License.
For contributing, please check the contributing guidelines.
Made with :heart: by Postman
FAQs
Sails hook for response policies, or responders
We found that sails-hook-responders demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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.

Research
Malicious Namastex.ai npm packages appear to replicate TeamPCP-style Canister Worm tradecraft, including exfiltration and self-propagation.

Product
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.