Zen-Server is a lightweight, fast, and flexible HTTP server for Node.js. It provides a simple API for creating web applications with support for middleware, routing, and various parsing options.
- Easy-to-use API similar to Express.js
- Support for middleware
- Built-in routing for GET, POST, PUT, and DELETE methods
- Optional JSON and Protobuf parsing
- TypeScript support out of the box
npm install zen-serverimport Zen from 'zen-server';
const app = new Zen();
app.start();
app.get('/', async (req, res) => {
res.send('Hello, World!');
});
app.post("/post", (req, res) => {
res.status(200).json({
success: true
});
})
app.listen(3000).then(() => {
console.log('Server running on http://localhost:3000');
});import Zen from 'zen-server';
const app = new Zen();
app.start()app.get(path, handler)
app.post(path, handler)
app.put(path, handler)
app.delete(path, handler)Example:
app.get('/users', async (req, res) => {
// Handle GET request
});
app.post('/users', (req, res) => {
// Handle POST request
});app.use(middleware, [path])Example:
app.use(async (req, res, next) => {
console.log('Request received:', req.method, req.url);
await next();
});The req object provides information about the HTTP request:
req.method: The HTTP method of the requestreq.url: The URL of the requestreq.headers: The headers of the requestreq.body: The body of the request (if parsed)
The res object provides methods to send the response:
res.status(code): Set the status coderes.send(body): Send a responseres.json(body): Send a JSON responseres.append(name, value): Append a header
Enable JSON parsing:
app.enableJsonParsing();Enable Protobuf parsing (Feauture will be available on v1.1):
app.enableProtobufParsing();app.start()Example:
app.start(3000).then(() => {
console.log('Server running on http://localhost:3000');
});app.enableCluster([NO_OF_WORKERS]);Zen-Server is written in TypeScript and provides type definitions out of the box.
Contributions are welcome! Please feel free to submit a Pull Request. github : https://github.com/rajgupta-ml/zen-
This project is licensed under the MIT License.