Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Solutions #1033

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions week-3/01-middlewares/01-requestcount.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const request = require('supertest');
const assert = require('assert');
const express = require('express');
const request = require("supertest");
const assert = require("assert");
const express = require("express");

const app = express();
let requestCount = 0;
Expand All @@ -10,16 +10,16 @@ let requestCount = 0;
// maintain a count of the number of requests made to the server in the global
// requestCount variable

app.get('/user', function(req, res) {
res.status(200).json({ name: 'john' });
app.get("/user", function (req, res) {
res.status(200).json({ name: "john" });
});

app.post('/user', function(req, res) {
res.status(200).json({ msg: 'created dummy user' });
app.post("/user", function (req, res) {
res.status(200).json({ msg: "created dummy user" });
});

app.get('/requestCount', function(req, res) {
app.get("/requestCount", function (req, res) {
res.status(200).json({ requestCount });
});

module.exports = app;
module.exports = app;
20 changes: 10 additions & 10 deletions week-3/01-middlewares/02-ratelimitter.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const request = require('supertest');
const assert = require('assert');
const express = require('express');
const request = require("supertest");
const assert = require("assert");
const express = require("express");
const app = express();
// You have been given an express server which has a few endpoints.
// Your task is to create a global middleware (app.use) which will
Expand All @@ -13,15 +13,15 @@ const app = express();

let numberOfRequestsForUser = {};
setInterval(() => {
numberOfRequestsForUser = {};
}, 1000)
numberOfRequestsForUser = {};
}, 1000);

app.get('/user', function(req, res) {
res.status(200).json({ name: 'john' });
app.get("/user", function (req, res) {
res.status(200).json({ name: "john" });
});

app.post('/user', function(req, res) {
res.status(200).json({ msg: 'created dummy user' });
app.post("/user", function (req, res) {
res.status(200).json({ msg: "created dummy user" });
});

module.exports = app;
module.exports = app;
18 changes: 9 additions & 9 deletions week-3/01-middlewares/03-errorcount.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const request = require('supertest');
const assert = require('assert');
const express = require('express');
const request = require("supertest");
const assert = require("assert");
const express = require("express");

const app = express();
let errorCount = 0;
Expand All @@ -10,17 +10,17 @@ let errorCount = 0;
// 1. Ensure that if there is ever an exception, the end user sees a status code of 404
// 2. Maintain the errorCount variable whose value should go up every time there is an exception in any endpoint

app.get('/user', function(req, res) {
app.get("/user", function (req, res) {
throw new Error("User not found");
res.status(200).json({ name: 'john' });
res.status(200).json({ name: "john" });
});

app.post('/user', function(req, res) {
res.status(200).json({ msg: 'created dummy user' });
app.post("/user", function (req, res) {
res.status(200).json({ msg: "created dummy user" });
});

app.get('/errorCount', function(req, res) {
app.get("/errorCount", function (req, res) {
res.status(200).json({ errorCount });
});

module.exports = app;
module.exports = app;
32 changes: 32 additions & 0 deletions week-3/01-middlewares/Solutions/01-requestcount.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
const request = require("supertest");
const assert = require("assert");
const express = require("express");

const app = express();
let requestCount = 0;

// You have been given an express server which has a few endpoints.
// Your task is to create a global middleware (app.use) which will
// maintain a count of the number of requests made to the server in the global
// requestCount variable

//Here's the Implementation for the logging the the number on every request made.
app.use((req, res, next) => {
requestCount++;
console.log(requestCount);
next();
});

app.get("/user", function (req, res) {
res.status(200).json({ name: "john" });
});

app.post("/user", function (req, res) {
res.status(200).json({ msg: "created dummy user" });
});

app.get("/requestCount", function (req, res) {
res.status(200).json({ requestCount });
});

module.exports = app;
34 changes: 34 additions & 0 deletions week-3/01-middlewares/Solutions/03-errorcount.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
const request = require("supertest");
const assert = require("assert");
const express = require("express");

const app = express();
let errorCount = 0;

// You have been given an express server which has a few endpoints.
// Your task is to
// 1. Ensure that if there is ever an exception, the end user sees a status code of 404
// 2. Maintain the errorCount variable whose value should go up every time there is an exception in any endpoint

app.get("/user", function (req, res) {
throw new Error("User not found");
// res.status(200).json({ name: "john" });
});

app.post("/user", function (req, res) {
res.status(200).json({ msg: "created dummy user" });
});

app.get("/errorCount", function (req, res) {
res.status(200).json({ errorCount });
});

app.use((err, req, res, next) => {
res.status(404).json({
status: err.status || 404,
msg: err.message || "An Error Occured.",
});
errorCount++;
});

module.exports = app;