hasty-server
v0.9.6
Published
A Blazing fast simple http server for node.js
Maintainers
Readme
Hasty
Help needed: I am looking for contributors to help me with this project. If you are interested, please let me know.
Hasty server is a simple web framework to build webserver in a simple way. It is inspired by Express.js. Bascially, It is my implementation of HTTP using raw TCP Socket in Javascript.
table of contents
Note
This is a work in progress and not ready for production. It is just a fun project to learn how HTTP works under the hood.
Installation
npm install hasty-serverModule Support
Hasty Server supports multiple module systems for maximum compatibility:
✅ CommonJS (Default)
const Hasty = require('hasty-server');
const server = new Hasty();✅ ES Modules (ESM)
import Hasty from 'hasty-server';
const server = new Hasty();✅ TypeScript
import Hasty, { Request, Response } from 'hasty-server';
const server = new Hasty();
server.get('/', (req: Request, res: Response) => {
res.json({ message: 'Hello from TypeScript!' });
});✅ Dual Package Support
The framework automatically detects your module system and provides the appropriate format:
- CommonJS projects: Uses
.jsfiles - ESM projects: Uses
.mjsfiles - TypeScript projects: Uses
.d.tstype definitions
Usage
Common JS
const Hasty = require('hasty-server');
const server = new Hasty();
server.get('/', (req, res) => {
res.send('Hello World');
});
server.listen(8080, () => {
console.log('Server is running on port 8080');
});ES6
import Hasty from 'hasty-server';
const server = new Hasty();
server.get('/', (req, res) => {
res.send('Hello World');
});
server.listen(8080, () => {
console.log('Server is running on port 8080');
});TypeScript
import Hasty, { Request, Response } from 'hasty-server';
const server = new Hasty();
server.get('/', (req: Request, res: Response) => {
res.json({ message: 'Hello from TypeScript!' });
});
server.post('/api/users', (req: Request, res: Response) => {
const userData = req.body;
res.status(201).json({ id: 1, ...userData });
});
server.listen(8080, () => {
console.log('TypeScript server running on port 8080');
});Request Object
Some of the features in response object are:
send: Send a response to the client.- Usage:
res.send('Hello World')
- Usage:
json: Send a JSON response to the client.- Usage:
res.json({message: 'Hello World'})
- Usage:
status: Set the status code of the response.- Usage:
res.status(200) - Default status code is 200.
- Usage:
Contributing
If you would like to contribute to Hasty Server, you're welcome to:
- Fork the repository.
- Create a branch for your feature or bugfix.
- Submit a pull request.
- Please make sure to read the contribution guidelines for more details.
Note: Do not use third-party code or dependencies. You can take help from language models, but avoid directly copying any of their code.
CHANGELOG
- v0.9.6
- Added comprehensive module support (CommonJS, ESM, TypeScript)
- Added dual package support with automatic module detection
For more information, see . CHANGELOG
LICENSE
This project is licensed under LGPL-2.1 - see the LICENSE file for details.
All rights reserved to the author.
