From fe9d3c804c5cd8285927d836525a3f8197a09284 Mon Sep 17 00:00:00 2001 From: KubMakCZ Date: Thu, 10 Sep 2026 12:01:49 +0200 Subject: [PATCH] webserver_v2 --- 03_webserver2/app.js | 54 ++++++++++++++++++++++++++++++++++ 03_webserver2/menu.html | 8 +++++ 03_webserver2/package.json | 19 ++++++++++++ 03_webserver2/pages/about.html | 49 ++++++++++++++++++++++++++++++ 03_webserver2/pages/index.html | 16 ++++++++++ 5 files changed, 146 insertions(+) create mode 100644 03_webserver2/app.js create mode 100644 03_webserver2/menu.html create mode 100644 03_webserver2/package.json create mode 100644 03_webserver2/pages/about.html create mode 100644 03_webserver2/pages/index.html diff --git a/03_webserver2/app.js b/03_webserver2/app.js new file mode 100644 index 0000000..8918d88 --- /dev/null +++ b/03_webserver2/app.js @@ -0,0 +1,54 @@ +//načtení knihoven +const http = require("http") +const fs = require("fs") +const path = require("path") + +const server = http.createServer((req,res) => { + //nalzeni soubor za pomocí "zjednodušeného linku" + const filePath = req.url === "/" ? "pages/index.html":`pages${req.url}.html`//AltGr+ý + //načti soubor z odkazu + fs.readFile(path.join(__dirname,filePath),"utf-8",(err,data)=>{ + //nejdříve zjistíme jetli chceme náš soubor nebo přesměrování + //přesměrování je dřív z důvodu ušetření načítaní dat z HTML + // if(req.url == "/presmerovani") { + // res.writeHead(302,{"Location":"https://"}) + // res.end() + // } + if(req.url == "/git") { + res.writeHead(302,{"Location":"https://git.asgard.odbornaskola.cz"}) + res.end() + } else if(req.url == "/youtube") { + res.writeHead(302,{"Location":"https://www.youtube.com/watch?v=iik25wqIuFo"}) + res.end() + } else if (err) { + //ERROR HANDLING + res.writeHead(404, {"content-type":"text/html"}) + res.end("

4☺4 - Page NOT Found

") + } else { + //KDYŽ UŽ VÍME ŽE CHCEME SOUBOR + //aneb zapneme část kodu na zpracování + //jakéhokoliv html v složce pages + + //"čistné čtení" + // res.writeHead(200,{"content-type":"text/html; charset=utf-8"}) + // res.end(data) + + fs.readFile(path.join(__dirname,"menu.html"),"utf-8",(err,menuContent)=>{ + if(err){ + res.writeHead(500,{"Content-type":"text/html"}); + res.end("

500 - Internal Server Error

"); + } else { + //vlož menu proi stránku do DATA stránky + data = data.replace(``, + ``); + //odešli upravené data společně s menu + res.writeHead(200,{"content-type":"text/html"}); + res.end(data); + } + }) + } + }) +}) + +const PORT = 3000 +server.listen(PORT,()=>console.log(`http://localhost:${PORT} Ctrl+C=STOP`)) \ No newline at end of file diff --git a/03_webserver2/menu.html b/03_webserver2/menu.html new file mode 100644 index 0000000..5dee9eb --- /dev/null +++ b/03_webserver2/menu.html @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/03_webserver2/package.json b/03_webserver2/package.json new file mode 100644 index 0000000..984a694 --- /dev/null +++ b/03_webserver2/package.json @@ -0,0 +1,19 @@ +{ + "name": "webserver_v2", + "version": "2.0.0", + "description": "maly web server", + "keywords": [ + "StarterPack", + "webserver", + "web", + "wtl", + "maturita" + ], + "license": "ISC", + "author": "skrabanek", + "type": "commonjs", + "main": "app.js", + "scripts": { + "test": "node app.js" + } +} diff --git a/03_webserver2/pages/about.html b/03_webserver2/pages/about.html new file mode 100644 index 0000000..823f7b7 --- /dev/null +++ b/03_webserver2/pages/about.html @@ -0,0 +1,49 @@ + + + + + + Document + + +

ABOUT PAGE

+ + +

+ + Lorem ipsum dolor sit amet consectetur adipisicing elit. Mollitia iure, qui earum nemo quae id quisquam culpa rerum sint est ab quaerat distinctio animi perspiciatis unde doloremque adipisci harum aspernatur.
Sapiente quisquam esse cum eaque voluptate, laboriosam numquam voluptatem dolorum totam laborum quia ut deleniti magni maxime amet distinctio dignissimos quos corrupti nemo ipsa doloribus fugit aperiam ratione! Beatae, harum.
+


+ +

+

+ + Lorem ipsum dolor sit amet consectetur adipisicing elit. Expedita tempore id eius veritatis illum! Non dolorem quidem aut in totam necessitatibus, natus quam consectetur molestias, odio, officia architecto nisi porro!
Animi est in adipisci ullam nesciunt praesentium ratione maxime quam deleniti dolores magnam non impedit dolorem deserunt magni numquam maiores quos corrupti nihil ipsum, id, iste rerum sequi cum. Aspernatur!
+


+ +

+

+ + Lorem ipsum dolor sit amet consectetur adipisicing elit. Expedita voluptatibus dignissimos magnam eius numquam architecto doloribus nisi, earum inventore, blanditiis beatae commodi doloremque deserunt repudiandae dolorem voluptate sapiente libero minima.
Optio maxime inventore ab est, quasi quod commodi sapiente. Architecto dignissimos veniam eum, molestias quo placeat aut, quaerat, quisquam culpa reprehenderit quod! Error ea quaerat laborum ratione, laboriosam at ipsa!
+


+ +

+

+ + Lorem ipsum dolor sit amet, consectetur adipisicing elit. Asperiores nihil repellat provident expedita nemo! Ex rem sapiente molestias deleniti corrupti, necessitatibus sunt odit nesciunt odio, quo voluptates, aliquam fugit amet!
Iusto blanditiis saepe dicta eaque corrupti qui, nisi eveniet. Eius excepturi aperiam velit, illum, consequatur tempore nihil eveniet veniam omnis enim odio repellat, perspiciatis quibusdam nobis ratione maxime accusamus cumque.
+


+ +

+

+ + Lorem, ipsum dolor sit amet consectetur adipisicing elit. Voluptatem hic autem corporis, non reiciendis deserunt incidunt velit a odit, recusandae voluptas omnis mollitia ad magnam est quam molestias quisquam tempore.
Sapiente pariatur, incidunt perferendis ad, aspernatur adipisci quos illo quas suscipit corrupti quod soluta. Obcaecati repellat eligendi maxime magnam accusantium molestiae ipsam tempora veniam in fugiat, repudiandae voluptates iure magni?
+


+ +

+

+ + Lorem ipsum dolor, sit amet consectetur adipisicing elit. Fugiat quae totam corporis ipsa natus quaerat odit veritatis deleniti facere illum tenetur, quas dolore provident facilis velit assumenda blanditiis voluptatum ducimus?
Omnis iste culpa expedita ipsa blanditiis repellat ducimus hic enim totam? Eius atque a necessitatibus sed possimus, dolores accusamus optio consequuntur nihil omnis! Neque laboriosam perspiciatis repellendus ratione? Voluptatibus, quos.
+


+ +

+ + \ No newline at end of file diff --git a/03_webserver2/pages/index.html b/03_webserver2/pages/index.html new file mode 100644 index 0000000..40a7553 --- /dev/null +++ b/03_webserver2/pages/index.html @@ -0,0 +1,16 @@ + + + + + + Document + + +

Test malýho webserveru

+ +

Lorem ipsum dolor sit amet consectetur adipisicing elit. Ducimus facilis quisquam vero inventore eos iste et quo pariatur ipsa reiciendis, quod molestias similique iure dignissimos nihil cupiditate consectetur omnis! Dolorum?

+

Aperiam beatae vitae esse corporis culpa nemo doloremque at vel quia deserunt veniam, alias provident molestias voluptas quibusdam voluptatem eos consequatur nesciunt reiciendis hic enim recusandae. Assumenda in et voluptas!

+

Iusto, perspiciatis illum? Doloremque, nostrum quis vero dicta iste veritatis impedit repellendus consequatur quas ipsa tempore placeat iure neque vel facere quae? Nulla officia esse amet voluptatum deleniti fugit exercitationem?

+

Saepe facilis quaerat suscipit, voluptatem laboriosam nemo hic modi aliquam quidem unde natus veniam aspernatur asperiores sapiente eaque, blanditiis harum quam, autem eius perspiciatis architecto rerum? Ratione eius nihil veniam?

+ + \ No newline at end of file