diff --git a/app.js b/app.js new file mode 100644 index 0000000..6f9ef81 --- /dev/null +++ b/app.js @@ -0,0 +1,30 @@ +const http = require('http'); +const handlers = require('./handlers'); +const hostname = '127.0.0.1'; +const port = 3000; +const fs = require('fs'); +let data; + + +const server = http.createServer((req, res) => { + console.log(req.url) + if (req.url.startsWith("/shoes")) { + handlers.shoesHandler(req, res); + + } else if (req.url.startsWith("/socks")) { + handlers.socksHandler(req, res); + + } else if (req.url.startsWith("/")) { + res.statusCode = 200; + res.setHeader('Content-Type', 'text/html'); + res.write(data); + res.end(); + } + + + +}); + +server.listen(3000, () => { + console.log(`Server running at http://${hostname}:${port}/`); +}); \ No newline at end of file diff --git a/handlers.js b/handlers.js new file mode 100644 index 0000000..1e93170 --- /dev/null +++ b/handlers.js @@ -0,0 +1,47 @@ +class Item { + constructor(title, image, desc) { + this.title = title, + this.image = image, + this.desc = desc; + } +} + +let shoesHandler = function (req, res) { + var url = require('url'); + var query = url.parse(req.url, true).query; + res.statusCode = 200; + + if (query.type == "formal") { + res.setHeader('Content-Type', 'text/html'); + let item = new Item("Shoes", "img.jpg", "Formal Shoes"); + res.write(`

${item.title}

${item.image}
${item.desc} `); + + } else { + res.setHeader('Content-Type', 'text/html'); + let item = new Item("Shoes", "img.jpg", "Regular Shoes"); + res.write(`

${item.title}

${item.image}
${item.desc} `); + + } + res.end(); + +} + +let socksHandler = function (req, res) { + var url = require('url'); + var query = url.parse(req.url, true).query; + res.statusCode = 200; + res.setHeader('Content-Type', 'text/html'); + if (query.type == "winter") { + let item = new Item("Socks", "img.jpg", "Winter Socks"); + res.write(`

${item.title}

${item.image}
${item.desc} `); + } else { + let item = new Item("Socks", "img.jpg", "Regular Socks"); + res.write(`

${item.title}

${item.image}
${item.desc} `); + } + res.end(); + +} +module.exports = { + 'shoesHandler': shoesHandler, + 'socksHandler': socksHandler +} \ No newline at end of file