sockhttp
v1.0.9
Published
This package enables you to create simple secure REST API with ease
Downloads
1
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).