sockhttp
v1.0.9
Published
This package enables you to create simple secure REST API with ease
Downloads
12
Readme
SockHTTP
This package enables you to create simple secure REST API with ease
Features
- API Enabled with GET, POST, PUT and DELETE
- Add multiple middlewares
- Use common middlewares for app endpoints
- Set CORS Policy
Upcoming Features
- Gaurds
- Rate limiting
- CSRF Protection
- Inbuilt Message bus
Documentation
Installation
Install sockhttp with npm
npm install sockhttp
Usage
Import httpsock
const Host = require('./src/index');
Initialize application
const app = new Host();
app.listen(3000, () => {
console.log('Server running on 3000');
});
Create endpoints
- GET
app.get('',(req,res)=>{
// do something
res.send();
});
- PUT
app.put('',(req,res)=>{
// do something
res.send();
});
- POST
app.post('',(req,res)=>{
// do something
res.send();
});
- DELETE
app.delete('',(req,res)=>{
// do something
res.send();
});
Middlewares
You can create a sequence of middlewares using
function defaultMiddleware(req,res,next) {
console.log(1);
next();
}
app.addDefaultMiddleware(defaultMiddleware);
You can add multiple middleware using it and they will be executed in the sequence in which they have been added
app.addDefaultMiddleware(defaultMiddleware1);
app.addDefaultMiddleware(defaultMiddleware2);
app.addDefaultMiddleware(defaultMiddleware3);
If you want to add a middleware specific to a endpoint, use this syntax
function someMiddleware(req, res, next) {
next();
}
app.get('',someMiddleware, (req, res) => {
// do something
res.send();
});
CORS
To enable CORS Policy, use
app.useCORS('*','GET',60);
- First param takes allowed origin string separated by "," (comma)
- Second param takes allowed methods in Capital case, separated by "," (comma)
- Third param takes allowed max age in seconds
when using CORS, first param is mandatory.
Logger
To use logger, use
app.useLogger();
Query Params
To use, query Params, use
app.get('/products', (req, res) => {
console.log('query params', req.query)
res.send('text');
})
Request params
To use request params, use
app.get("/products/:id", (req, res) => {
console.log('req.params', req.params);
res.send("product id");
});
Body
To use body in methods, use
app.post('/products', (req,res) => {
const body = req.body;
...
},)
Headers
To add custom headers,
app.addHeader('key','value')
Support
For support, connect with me on Linkedin (https://www.linkedin.com/in/lazycoderr) or twitter (https://twitter.com/lazycoderr).