
Security News
AGENTS.md Gains Traction as an Open Format for AI Coding Agents
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
simpleS is a simple web framework for Node.JS designed to create HTTP(S) servers and clients with some special features:
npm install simples
See the folder examples/
in the module directory, it contains examples that cover most simpleS features.
var simples = require('simples');
var server = simples(); // Your server is set up on port 80
// Enable compression (default is deflate)
server.config({
compression: {
enabled: true
}
});
// Serve static files located in the folder "static"
server.serve('static');
// Catch 404 Error
server.error(404, function (connection) {
connection.end('Error 404 caught');
});
// Create the first route
server.get('/', function (connection) {
connection.end('Simples Works');
});
var simples = require('simples');
var client = simples.client();
// GET request
client.get('/').on('body', function (response, body) {
console.log('Response status: ' + response.status);
console.log('Response body: ' + body.toString());
});
// POST request
client.post('/send').send(/* data */).on('response', function (response) {
// Do something with the response
}).on('body', function (response, body) {
console.log('Response body: ' + body.toString());
});
var host0 = server; // The server is in the same time the main host
var host1 = server.host('example.com'); // Other hosts
var host2 = server.host('example2.com');
// Now for each host you can apply individual routing
host0.get('/', function (connection) {
connection.end('Main Host');
});
host1.get('/', function (connection) {
connection.end('Host 1');
});
host2.get('/', function (connection) {
connection.end('Host 2');
});
Let's create an echo WebSocket server:
server.ws('/', {
limit: 1024, // The maximum size of a message
mode: 'text', // Set connection mode, see docs for more info
origins: ['null'] // Set accepted origins, "null" for localhost
}, function (connection) {
// Log the new connection
console.log('New connection');
// Listen for messages to send them back
connection.on('message', function (message) {
console.log('Message: ' + message.data);
connection.send(message.data);
});
// Log connection close
connection.on('close', function () {
console.log('Connection closed');
});
});
Access the server from the browser built-in WebSocket API:
var socket = new WebSocket('ws://localhost/', 'echo');
// Listen for messages
socket.onmessage = function (event) {
console.log(event.data);
};
// Send the first message
socket.send('ECHO');
Access the server from the browser simpleS WebSocket API:
var socket = simples.ws('/', ['echo']);
// Listen for messages
socket.on('message', function (message) {
console.log(message.data);
});
// Send the first message
socket.send('ECHO');
Access the server from server-side simpleS client WebSocket API:
var simples = require('simples');
var client = simples.client();
var socket = client.ws('/');
// Listen for messages
socket.on('message', function (message) {
console.log(message.data);
});
// Send the first message
socket.send('ECHO');
0.8.8
FAQs
Simple Web Framework
The npm package simples receives a total of 80 weekly downloads. As such, simples popularity was classified as not popular.
We found that simples 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
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.