Untitled
unknown
plain_text
2 years ago
3.5 kB
9
Indexable
///////////////////////////////////////////////////////////////////// // Requires ///////////////////////////////////////////////////////////////////// const express = require("express"); const cookieParser = require("cookie-parser"); ///////////////////////////////////////////////////////////////////// // Initialization ///////////////////////////////////////////////////////////////////// const app = express(); const PORT = 8080; ///////////////////////////////////////////////////////////////////// // Requires ///////////////////////////////////////////////////////////////////// app.use(express.urlencoded({ extended: true })); app.use(cookieParser()); ///////////////////////////////////////////////////////////////////// // Configuration ///////////////////////////////////////////////////////////////////// app.set("view engine", "ejs"); ///////////////////////////////////////////////////////////////////// // Listener ///////////////////////////////////////////////////////////////////// app.listen(PORT, () => { console.log(`Example app listening on port ${PORT}!`); }); ///////////////////////////////////////////////////////////////////// // "Database" ///////////////////////////////////////////////////////////////////// const urlDatabase = { "b2xVn2": "http://www.lighthouselabs.ca", "9sm5xK": "http://www.google.com", }; const generateRandomString = function() { return Math.random().toString(36).substring(2, 8); }; ///////////////////////////////////////////////////////////////////// // Routes ///////////////////////////////////////////////////////////////////// app.get("/", (req, res) => { res.send("Hello!"); }); app.get("/urls.json", (req, res) => { res.json(urlDatabase); }); app.get("/hello", (req, res) => { res.send("<html><body>Hello <b>World</b></body></html>\n"); }); app.get("/urls", (req, res) => { const templateVars = { urls: urlDatabase }; res.render("urls_index", templateVars); }); app.get("/urls/new", (req, res) => { res.render("urls_new"); }); app.get("/urls/:id", (req, res) => { const id = req.params.id; const templateVars = {id, longURL: urlDatabase[id]}; res.render("urls_show", templateVars); }); app.post("/urls", (req, res) => { const shortID = generateRandomString(); urlDatabase[shortID] = req.body.longURL; res.redirect(`/urls/${shortID}`); }); app.get("/u/:id", (req, res) => { const id = req.params.id; console.log(urlDatabase[id]); res.redirect(urlDatabase[id]); }); // app.get("/set-cookies", (req, res) => { // res.cookie("Cookie 1", 1); // res.cookie("Cookie number two", "abc"); // res.cookie("Another Cookie ", "1234 dog"); // res.render("set-cookie"); // }); // app.get("/read-cookie", (req, res) => { // const cookies = req.cookies; // const templateVars = { // cookies: cookies, // }; // res.render("read-cookie", templateVars); // }); // app.post("/sign-out", (req, res) => { // res.clearCookie("username"); // res.redirect("/urls"); // }); // // app.get("/login", (req, res) => { // // const templateVars = { Username: users[req] // // } // // }) // app.post("/login", (req, res) => { // const username = req.body.username; // if (username) { // res.cookie("username", username); // return res.redirect(`/urls`); // } // }); // app.post("urls/:id/delete", (req, res) => { // const id = req.params.id; // delete urlDatabase[id]; // res.redirect("/urls"); // });
Editor is loading...