http-simple-router
v1.0.1
Published
A simple, lightweight router for Node.js with support for middleware and route-specific handlers.
Downloads
2
Readme
Router
A simple, lightweight router for Node.js with support for middleware and route-specific handlers.
Installation
To use this router, you need to have Node.js installed on your machine. You can then include the Router
class in your project.
npm install http-simple-router
Usage
Here's a step-by-step guide on how to use the Router class. Creating a Router
First, require the Router class and create a new instance:
const http = require('http');
const Router = require('http-simple-router');
const router = new Router();
Adding Routes
You can add routes to your router using the addRoute method. The method takes three arguments: the URL, the HTTP method, and a handler function.
router.addRoute('/test', 'POST', (req, res) => {
console.log(req);
res.end("Response from /test");
});
Adding Middleware
You can add middleware to your router using the use method. Middleware can be applied globally or to specific routes. Global Middleware
To add a middleware that will run for every route:
router.use((req, res, next) => {
console.log("Global middleware");
next();
});
Route-Specific Middleware
To add a middleware that will run only for a specific route:
router.addRoute('/test', 'POST', (req, res) => {
console.log(req);
res.end("Response from /test");
})
.use((req, res, next) => {
console.log("Route-specific middleware");
next();
});
Handling Requests
Create an HTTP server and use the router to handle incoming requests:
const server = http.createServer((req, res) => {
const { method, url } = req;
router.handleRequest(method, url, res, req);
});
server.listen(3000, () => {
console.log("Server running on port 3000");
});
Error Handling
The router provides built-in methods for handling route not found and method not allowed errors:
routeNotFound(res): Sends a 404 Not Found response.
methodNotAllowed(res): Sends a 405 Method Not Allowed response.
These methods are automatically called when a route or method is not found. Example
Here's a complete example:
const http = require('http');
const Router = require('http-simple-router');
const router = new Router();
router.addRoute('/test', 'POST', (req, res) => {
console.log(req);
res.end("Response from /test");
})