1.0.9 • Published 2 years ago

sockhttp v1.0.9

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

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).

Authors

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago