Skip to content

Instantly share code, notes, and snippets.

@ganeshkbhat
Last active October 2, 2018 14:19
Show Gist options
  • Save ganeshkbhat/587e8bd251fd213e7b27b572e5cde579 to your computer and use it in GitHub Desktop.
Save ganeshkbhat/587e8bd251fd213e7b27b572e5cde579 to your computer and use it in GitHub Desktop.
ExpressJS Series: Parsing Request Body using Middlewares
const express = require('express');
const bodyParser = require('body-parser');
let app = express();
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }));
// parse application/json
app.use(bodyParser.json());
const myFirstMiddleware = function(req, res, next) {
console.log('My logger');
next();
};
const myRouteMiddleware = function(req, res, next) {
console.log('My logger ', 'only for ', req.path);
next();
};
const textParser = bodyParser.text({
defaultCharset: 'utf8',
inflate: true
});
const urlEncodedParser = bodyParser.urlencoded({
extended: true,
inflate: true
});
app.use(myFirstMiddleware);
app.get('/', function(req, res) {res.status(200).send({status: "running", time: Date.now()})});
/* POST */
app.post('/', textParser, myRouteMiddleware, function(req, res) {res.status(200).send({status: "running", time: Date.now()})});
/* PUT */
app.put('/', urlEncodedParser, function(req, res) {res.status(200).send({status: "running", time: Date.now()})});
/* PATCH */
app.patch('/', function(req, res) {res.status(200).send({status: "running", time: Date.now()})});
/* DELETE */
app.delete('/', function(req, res) {res.status(200).send({status: "running", time: Date.now()})});
/* OPTIONS */
/*
app.options('/', function(req, res) {res.status(200).send({status: "running", time: Date.now()})});
*/
app.post('/api/myform/:categoryId', function(req, res) {
res.status(200).send({paramValues: req.params.categoryId, queryParamValues: req.query.create + ' ' + req.query.notify});
});
const host = "127.0.0.1";
const port = 9001;
app.listen(host, port, function() {console.log("Server started")});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment