From 590545962585ce140841eb76fc279c224a94e6b3 Mon Sep 17 00:00:00 2001 From: Hitesh Kumar Date: Thu, 30 Nov 2017 22:27:52 +0530 Subject: [PATCH] Learned modules in Node. --- .gitignore | 1 + echo_server.js | 36 ++++++++++++++++++++++++++++++++++++ events/server.js | 16 ++++++++++++++++ modules/server.js | 2 ++ modules/shapes/circle.js | 15 +++++++++++++++ modules/shapes/index.js | 6 ++++++ modules/shapes/package.json | 4 ++++ modules/shapes/rect.js | 12 ++++++++++++ 8 files changed, 92 insertions(+) create mode 100644 .gitignore create mode 100644 echo_server.js create mode 100644 events/server.js create mode 100644 modules/server.js create mode 100644 modules/shapes/circle.js create mode 100644 modules/shapes/index.js create mode 100644 modules/shapes/package.json create mode 100644 modules/shapes/rect.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/echo_server.js b/echo_server.js new file mode 100644 index 0000000..e423f43 --- /dev/null +++ b/echo_server.js @@ -0,0 +1,36 @@ +const http = require('http'); + +const PORT = 3000; + +const server = http.createServer(); + + +const onRequest = (request, response) => { + + request.on('error', (err) => { + console.error(err); + response.statusCode = 400; + response.end(); + }); + response.on('error', (err) => { + console.error(err); + }); + + const { + method, url + } = request; + + if (method === 'POST' && url === '/echo') { + request.pipe(response); + } else { + response.statusCode = 404; + response.end(); + } +}; + + +server.on('request', onRequest); + +server.listen(PORT, () => { + console.log('Server is listening at port:', PORT); +}); diff --git a/events/server.js b/events/server.js new file mode 100644 index 0000000..02f8403 --- /dev/null +++ b/events/server.js @@ -0,0 +1,16 @@ +const http = require('http'); + +const PORT = 8080; + +const server = http.createServer(); +const onRequest = (request, response) => { + response.writeHead(200, { + 'Content-Type': 'text/html' + }); + response.end(`

Learning NodeJs Macha!!

`); +}; + +server.on('request', onRequest); +server.listen(PORT, () => { + console.log(`Listening at ${PORT}`); +}); diff --git a/modules/server.js b/modules/server.js new file mode 100644 index 0000000..de04c87 --- /dev/null +++ b/modules/server.js @@ -0,0 +1,2 @@ +const shapes = require('./shapes'); +console.log(shapes); diff --git a/modules/shapes/circle.js b/modules/shapes/circle.js new file mode 100644 index 0000000..d25bcba --- /dev/null +++ b/modules/shapes/circle.js @@ -0,0 +1,15 @@ +class Circle { + constructor(radius, point = { + x: 0, + y: 0 + }) { + this.radius = radius; + } + + get area() { + const rSquare = Math.pow(this.radius, 2); + return Math.PI * rSquare; + } +} + +module.exports = Circle; diff --git a/modules/shapes/index.js b/modules/shapes/index.js new file mode 100644 index 0000000..43dd78b --- /dev/null +++ b/modules/shapes/index.js @@ -0,0 +1,6 @@ +const Circle = require('./circle'); +const Rect = require('./rect'); + +module.exports = { + Circle, Rect +}; diff --git a/modules/shapes/package.json b/modules/shapes/package.json new file mode 100644 index 0000000..c12bd3f --- /dev/null +++ b/modules/shapes/package.json @@ -0,0 +1,4 @@ +{ + "name": "shapes", + "main": "./index.js" +} diff --git a/modules/shapes/rect.js b/modules/shapes/rect.js new file mode 100644 index 0000000..10353a0 --- /dev/null +++ b/modules/shapes/rect.js @@ -0,0 +1,12 @@ +class Rect { + constructor(a, b) { + this.a = a; + this.b = b; + } + get area() { + return a * b; + } +} + + +module.exports = Rect;