diff --git a/02_webserver02/app.js b/02_webserver02/app.js new file mode 100644 index 0000000..9311ec0 --- /dev/null +++ b/02_webserver02/app.js @@ -0,0 +1,50 @@ +//načtení knihoven +const http = require("http"); +const fs = require("fs"); +const path = require("path"); + +const server = http.createServer((req,res) => { + //přečti URL + const filePath = req.url === "/" ? "pages/index.html" : `pages${req.url}.html` + //načti hledaný soubor + fs.readFile(path.join(__dirname,filePath),"utf-8",(err,data) => { + //odkazy s přesměrováním + if (req.url == "/youtube"){ + res.writeHead(302, {"Location":"https://www.youtube.com"}); + res.end(); + } + else if (req.url == "/git"){ + res.writeHead(302, {"Location":"https://git.asgard.odbornaskola.cz"}); + res.end(); + } + else if (err) { + //error handling + res.writeHead(404, {"Content-type":"text/html"}); + res.end("

404 - Page not found

"); + } else { + //když soubor je + // res.writeHead(200, {"Content-type":"text/html"}); + // res.end(data); + + fs.readFile(path.join(__dirname,"menu.html"), "utf-8", (err,menuContent) =>{ + if(err) { + //když server nenalezne menu.html + res.writeHead(500, {"Content-type":"text/html"}); + res.end("

500 - Internal Server Error

") + } else { + //vlož menu pro stránku do DATA stránky + data = data.replace(``, + ``); + //odešli upravené data + res.writeHead(200, {"Content-type":"text/html"}); + res.end(data); + } + }) + } + }) +}); +// na české klávesnící +// ` -> AltGR + ý +// $ -> AltGR + ů +const PORT = 3000; +server.listen(PORT, ()=>console.log(`http://localhost:${PORT} Ctrl+c=STOP`)) \ No newline at end of file diff --git a/02_webserver02/menu.html b/02_webserver02/menu.html new file mode 100644 index 0000000..eb3b359 --- /dev/null +++ b/02_webserver02/menu.html @@ -0,0 +1,8 @@ + + + \ No newline at end of file diff --git a/02_webserver02/package.json b/02_webserver02/package.json new file mode 100644 index 0000000..441cf45 --- /dev/null +++ b/02_webserver02/package.json @@ -0,0 +1,18 @@ +{ + "name": "webserver_v2", + "version": "2.0.0", + "description": "maly web server¨", + "main": "app.js", + "scripts": { + "test": "node app.js " + }, + "keywords": [ + "StarterPack", + "webserver", + "web", + "wtl", + "maturita" + ], + "author": "KubMak", + "license": "ISC" +} diff --git a/02_webserver02/pages/about.html b/02_webserver02/pages/about.html new file mode 100644 index 0000000..9505bf3 --- /dev/null +++ b/02_webserver02/pages/about.html @@ -0,0 +1,17 @@ + + + + + + About + + +

About

+ +

Lorem ipsum dolor sit amet consectetur, adipisicing elit. Tenetur dolore pariatur obcaecati consectetur incidunt doloribus ipsa aliquam a quasi eveniet iusto autem, nihil distinctio at facere, aspernatur ratione non corrupti?

+

Sit nesciunt deserunt sapiente eligendi tempora facilis, corporis aut delectus minus amet qui perspiciatis quisquam aliquam eaque architecto, tenetur dolorem consequatur hic impedit vel quas. Adipisci, odit nam. Autem, aspernatur!

+

Ipsam reprehenderit iste eius aliquid ullam id similique. Nesciunt mollitia repellendus quaerat, dolor eius accusamus rem vel ipsa iste reprehenderit facilis blanditiis dolorem doloremque. Vel odit pariatur quae aspernatur modi.

+

Sint delectus assumenda voluptatem quidem officia hic, odio ea esse nostrum sunt, illo totam ipsa. Laborum dicta quasi molestiae quidem enim perspiciatis consequatur doloremque deleniti, possimus commodi, magni quod. Illum.

+

Minima, ipsam! Quibusdam, nisi ipsum dicta cum amet assumenda. Dolore amet consequuntur suscipit aut soluta quibusdam accusantium sunt sit cum tempora sed cumque blanditiis laborum, cupiditate omnis dolorum iste doloribus!

+ + \ No newline at end of file diff --git a/02_webserver02/pages/index.html b/02_webserver02/pages/index.html new file mode 100644 index 0000000..130773e --- /dev/null +++ b/02_webserver02/pages/index.html @@ -0,0 +1,13 @@ + + + + + + Index + + +

Hlavní stránka

+ +

Lorem ipsum dolor sit amet consectetur adipisicing elit. Praesentium harum quo nisi laborum? Consequatur accusamus a pariatur tempore, dolor inventore aperiam praesentium molestias minus, ducimus harum quibusdam, recusandae veniam neque.

+ + \ No newline at end of file