From 66ac6e1691cf2d56b3f69850f7a8723cee4d44ee Mon Sep 17 00:00:00 2001 From: Nikesh Walling Date: Tue, 12 Sep 2023 22:27:18 -0400 Subject: [PATCH 1/8] Initial page --- Resources/RhoBetaEpsilon_Logo.jpg | Bin 0 -> 36474 bytes Resources/RhoBetaEpsilon_Logo.svg | 1 + .../RhoBetaEpsilon_Logo_noBackground.png | Bin 0 -> 134631 bytes public/css/homepage.css | 1 + public/css/main.css | 50 ++++++++++++++++-- public/css/sidebar.css | 48 +++++++++++++++++ public/homepage.html | 23 ++++++++ public/index.html | 38 ++++++++++--- public/js/homepage_main.js | 0 public/js/main.js | 19 +++++-- server.improved.js | 3 +- 11 files changed, 168 insertions(+), 15 deletions(-) create mode 100644 Resources/RhoBetaEpsilon_Logo.jpg create mode 100644 Resources/RhoBetaEpsilon_Logo.svg create mode 100644 Resources/RhoBetaEpsilon_Logo_noBackground.png create mode 100644 public/css/homepage.css create mode 100644 public/css/sidebar.css create mode 100644 public/homepage.html create mode 100644 public/js/homepage_main.js diff --git a/Resources/RhoBetaEpsilon_Logo.jpg b/Resources/RhoBetaEpsilon_Logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3b6e31125dfc12639acd643a4a9bcf907ffe6f60 GIT binary patch literal 36474 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 \ No newline at end of file diff --git a/Resources/RhoBetaEpsilon_Logo_noBackground.png b/Resources/RhoBetaEpsilon_Logo_noBackground.png new file mode 100644 index 0000000000000000000000000000000000000000..78d7921ca210d75c2a5ebfe22c3f29e864f4f311 GIT binary patch literal 134631 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

nc^K}mr5j1YZXMPW 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

&#GwOj-Li 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

v{1u0c*&Q7ITkhVi_4AD56s!ev5g0%x2s!T{^Q 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 I>zopr03L70$^ZZW literal 0 HcmV?d00001 diff --git a/public/css/homepage.css b/public/css/homepage.css new file mode 100644 index 00000000..187b97ad --- /dev/null +++ b/public/css/homepage.css @@ -0,0 +1 @@ +@import url("css/sidebar.css"); diff --git a/public/css/main.css b/public/css/main.css index 7cf6207b..a5c93434 100644 --- a/public/css/main.css +++ b/public/css/main.css @@ -1,4 +1,48 @@ +@import url("https://fonts.googleapis.com/css2?family=Roboto&display=swap"); + +:root { + --primary-color: #a23535; + --secondary-color: #ffdf50; + --accent-color: #000; +} + body { - background:black; - color:white; -} \ No newline at end of file + margin-left: 380px; + font-family: "Ubuntu", Georgia, "Times New Roman", Times, serif; + background-color: white; +} + +form { + margin-left: 20px; + margin-top: 200px; + max-width: 100px; +} + +input { + height: 32px; + width: 240px; + position: relative; +} + +label { + font-size: large; +} + +ul { + list-style: none; +} + +li { + padding-top: 15px; +} + +button { + margin: 20px 20px 20px 20px; + font-size: 20px; + border: var(--secondary-color); + height: 48px; + width: 96px; + border-radius: 10px; + color: white; + background-color: #a23535; +} diff --git a/public/css/sidebar.css b/public/css/sidebar.css new file mode 100644 index 00000000..94053567 --- /dev/null +++ b/public/css/sidebar.css @@ -0,0 +1,48 @@ +.sidebar { + position: fixed; /* Fixed Sidebar (stay in place on scroll) */ + z-index: 1; /* Stay on top */ + top: 0; /* Stay at the top */ + + overflow-x: hidden; /* Disable horizontal scroll */ + border-color: transparent; + padding: 20px 20px 0 20px; + justify-content: center; + align-items: right; +} + +.sidebar#left { + min-width: 380px; + max-width: 380px; + height: 100%; + left: 0; + background-color: #a23535; + border-right: var(--accent-color); + border-right-width: 5px; + border-style: solid; + padding-top: 175px; + color: white; + font-size: 44px; + font-weight: bold; + overflow-wrap: normal; +} + +.sidebar#right { + width: 20%; + height: 50%; + position: fixed; + right: 0; + + float: right; + border-left-width: 5px; + border-style: solid; + border-color: #555; +} + +#RBE-logo { + background-image: url("/Resources/RhoBetaEpsilon_Logo_noBackground.png"); + background-repeat: no-repeat; + background-size: 200px; + min-height: 200px; + min-width: 380px; + display: block; +} diff --git a/public/homepage.html b/public/homepage.html new file mode 100644 index 00000000..930f586e --- /dev/null +++ b/public/homepage.html @@ -0,0 +1,23 @@ + + + + CS4241 Assignment 2 + + + + + + + + + + +

+ + diff --git a/public/index.html b/public/index.html index 59d90d3b..29bbd7aa 100644 --- a/public/index.html +++ b/public/index.html @@ -1,18 +1,42 @@ - + CS4241 Assignment 2 - + + - - + + - + + + +
- - +
    +
  • + + +
  • +
  • + + +
  • +
  • + +
  • +
diff --git a/public/js/homepage_main.js b/public/js/homepage_main.js new file mode 100644 index 00000000..e69de29b diff --git a/public/js/main.js b/public/js/main.js index a569258f..e7465f5d 100644 --- a/public/js/main.js +++ b/public/js/main.js @@ -5,7 +5,7 @@ const submit = async function( event ) { // a new .html page for displaying results... // this was the original browser behavior and still // remains to this day - event.preventDefault() + // event.preventDefault() const input = document.querySelector( '#yourname' ), json = { yourname: input.value }, @@ -21,7 +21,18 @@ const submit = async function( event ) { console.log( 'text:', text ) } -window.onload = function() { - const button = document.querySelector("button"); - button.onclick = submit; +//Front end for page one + +const login_validate = async function( event ){ + // username = document.querySelector('#user_name_box').get; + + fetch('/homepage.html').then((response) => response.json()) +.then((json) => console.log(json)); +} + + + +window.onload = function(){ + const loginButton = document.querySelector("#sign_in_button"); + loginButton.onclick = login_validate; } \ No newline at end of file diff --git a/server.improved.js b/server.improved.js index 9ac27fb8..48b339d6 100644 --- a/server.improved.js +++ b/server.improved.js @@ -26,10 +26,11 @@ const handleGet = function( request, response ) { const filename = dir + request.url.slice( 1 ) if( request.url === '/' ) { - sendFile( response, 'public/index.html' ) + sendFile( response, 'public/index.html') }else{ sendFile( response, filename ) } + console.log(filename); } const handlePost = function( request, response ) { From cae2875a15c1b9e2a22d61a6bbfaba8545a61700 Mon Sep 17 00:00:00 2001 From: Nikesh Walling Date: Thu, 14 Sep 2023 10:30:56 -0400 Subject: [PATCH 2/8] Website --- public/css/homepage.css | 87 ++++++++++++++++++++- public/css/sidebar.css | 26 ++++++- public/homepage.html | 35 ++++++++- public/js/homepage_main.js | 155 +++++++++++++++++++++++++++++++++++++ 4 files changed, 296 insertions(+), 7 deletions(-) diff --git a/public/css/homepage.css b/public/css/homepage.css index 187b97ad..7ab39f9b 100644 --- a/public/css/homepage.css +++ b/public/css/homepage.css @@ -1 +1,86 @@ -@import url("css/sidebar.css"); +@import url("https://fonts.googleapis.com/css2?family=Roboto&display=swap"); + +:root { + --primary-color: #a23535; + --secondary-color: #ffdf50; + --accent-color: #000; +} + +body { + margin-left: 320px; + font-family: "Ubuntu", Georgia, "Times New Roman", Times, serif; +} +.sidebar > a:not(:first-child) { + line-height: 1em; + display: inline-block; + text-decoration: none; + padding-top: 24px; + /* margin: 42px; */ +} + +form { + /* margin-left: 20px; */ + /* margin-top: 200px; */ + max-width: 450px; + border-color: #000; + border-style: solid; + padding: 0px 20px 0px 20px; +} + +input { + height: 32px; + max-width: 240px; + position: relative; + margin-left: 15px; + margin-bottom: 15px; +} +#number-of-hours { + width: 60px; +} + +#reasoning-box { + width: 450px; + height: 150px; + justify-content: left; + align-items: flex-start; +} + +textarea { + resize: vertical; + font-size: 18px; + margin-top: 15px; +} + +label { + font-size: large; + margin-bottom: 50px; +} + +ul { + list-style: none; + padding-left: 0; +} + +li { + padding-top: 15px; +} + +.grid-list { + display: grid; +} + +input[type="button"] { + margin: 20px 20px 20px 20px; + font-size: 20px; + border: var(--secondary-color); + height: 48px; + width: 150px; + border-radius: 10px; + color: white; + background-color: #a23535; + transition-duration: 0.2s; +} + +input[type="button"]:hover { + background-color: #801313; +} diff --git a/public/css/sidebar.css b/public/css/sidebar.css index 94053567..6e7c2b37 100644 --- a/public/css/sidebar.css +++ b/public/css/sidebar.css @@ -5,12 +5,13 @@ overflow-x: hidden; /* Disable horizontal scroll */ border-color: transparent; - padding: 20px 20px 0 20px; + padding-left: 20px; + justify-content: center; align-items: right; } -.sidebar#left { +.sidebar#log-in-left { min-width: 380px; max-width: 380px; height: 100%; @@ -26,16 +27,31 @@ overflow-wrap: normal; } +.sidebar#left { + min-width: 200px; + max-width: 200px; + height: 100%; + left: 0; + background-color: #a23535; + border-right: var(--accent-color); + border-right-width: 5px; + border-style: solid; + padding-top: 25px; + color: white; + font-size: 24px; + font-weight: bold; + overflow-wrap: normal; +} + .sidebar#right { width: 20%; height: 50%; position: fixed; right: 0; - float: right; border-left-width: 5px; border-style: solid; - border-color: #555; + /* border-color: #555; */ } #RBE-logo { @@ -45,4 +61,6 @@ min-height: 200px; min-width: 380px; display: block; + background-color: #a23535; + border: none; } diff --git a/public/homepage.html b/public/homepage.html index 930f586e..493059a5 100644 --- a/public/homepage.html +++ b/public/homepage.html @@ -8,7 +8,7 @@ content="width=device-width, maximum-scale=3, minimum-scale=0.5" /> - + @@ -17,7 +17,38 @@ + +

Temp Hour Submission Form

+
+
    +
  • + + +
  • +
  • + + hours +
  • +
  • + + +
  • +
+
+ +
+ diff --git a/public/js/homepage_main.js b/public/js/homepage_main.js index e69de29b..ad705e9a 100644 --- a/public/js/homepage_main.js +++ b/public/js/homepage_main.js @@ -0,0 +1,155 @@ +// FRONT-END (CLIENT) JAVASCRIPT HERE + +class hourEntry { + constructor(date, num, reasoning) { + this.date = date; + this.numHours = num; + this.reason = reasoning; + } + setDate(date) { + this.date = date; + } + setNumHours(num) { + this.numHours = num; + } + + setReason(reason) { + this.reason = reason; + } + + setValid(isValid) { + this.valid = isValid; + } +} + +const submit = async function (event) { + // stop form submission from trying to load + // a new .html page for displaying results... + // this was the original browser behavior and still + // remains to this day + event.preventDefault(); + + let error_message = ""; + let dateBox = document.getElementById("date-of-hours"); + let numHoursBox = document.getElementById("number-of-hours"); + let reasoningBox = document.getElementById("reasoning-box"); + + let error = document.getElementById("error-message"); + + let dateVal = dateBox.value; + let numHours = parseFloat(numHoursBox.value); + let reasoning = reasoningBox.value; + + if (dateVal == "" || numHoursBox.value == "") { + error_message = "Please fill out the fields"; + } else if (numHours < 0) { + error_message = "Please enter a greater than zero number of hours"; + } else if (reasoning == "") { + error_message = "Please give a reason for your hours"; + } + console.log(error_message); + + if (error_message !== "") { + error.style.opacity = 1; + error.textContent = error_message; + return; + } else { + error.style.opacity = 0; + + newSubmission = new hourEntry(dateVal, numHours, reasoning); + } + + const json = { mode: "add", entry: newSubmission }; + const body = JSON.stringify(json); + serverResponse(body); +}; + +const serverResponse = async function (body) { + console.log("entry:", body); + const response = await fetch("/submit", { + method: "POST", + body, + }); + + const text = await response.text(); + let data = JSON.parse(text); + console.log("data:", data); + writeInfoToScreen(data.entries); +}; + +//Front end for page one +window.onload = function () { + const button = document.querySelector("#submit-button"); + button.onclick = submit; + let error = document.getElementById("error-message"); + error.style.opacity = 0; + const json = { mode: "read" }; + const body = JSON.stringify(json); +}; + +/* +html outline for the hour entry to shove into the grid + + +
+
+

Date: 100

+

Protein: 10

+

Hours Left:

+
+
+ x +
+
+*/ +writeInfoToScreen = function (submissions) { + const gridList = document.getElementById("#grid-list"); + + gridList.innerHTML = ""; + let hoursSum = 7; + + for (entry in submissions) { + let entryHTML = document.createElement("div"); + entryHTML.classList.add("entry"); + + let info = document.createElement("div"); + info.classList.add("info"); + + let dateHTML = document.createElement("p"); + dateHTML.textContent = "Date: " + entry.data; + dateHTML.classList.add("calories"); + infoHTML.appendChild(dateHTML); + + let reasonHTML = document.createElement("p"); + reasonHTML.textContent = "Reason: " + entryData.reason; + reasonHTML.classList.add("reason"); + infoHTML.appendChild(reasonHTML); + + let hoursLeftHTML = document.createElement("p"); + hoursLeftHTML.textContent = + "Hours Left After This: " + (hoursSum - entryData.numHours) + " hours"; + hoursSum -= numHours; + percentProteinHTML.classList.add("hoursLeft"); + infoHTML.appendChild(hoursLeftHTML); + + entryHTML.appendChild(infoHTML); + + let deleteHTML = document.createElement("div"); + deleteHTML.style.height = "40px"; + deleteHTML.classList.add("delete"); + deleteHTML.onclick = async function () { + const json = { mode: "delete", id: entryData.id }; + const body = JSON.stringify(json); + await serverResponse(body); + }; + + let deletButton = document.createElement("a"); + deletButton.textContent = "x"; + deletButton.classList.add("delete_x"); + deleteHTML.appendChild(deleteXHTML); + + entryHTML.appendChild(deleteHTML); + + gridList.appendChild(entryHTML); + } +}; From 57fa1f7a02deb2a619e245c23607024651b9f024 Mon Sep 17 00:00:00 2001 From: Nikesh Walling Date: Fri, 15 Sep 2023 13:34:08 -0400 Subject: [PATCH 3/8] Almost working server --- node_modules/.bin/mime | 1 + node_modules/.package-lock.json | 18 ++ node_modules/mime/CHANGELOG.md | 296 ++++++++++++++++++++++++++++ node_modules/mime/LICENSE | 21 ++ node_modules/mime/Mime.js | 97 +++++++++ node_modules/mime/README.md | 187 ++++++++++++++++++ node_modules/mime/cli.js | 46 +++++ node_modules/mime/index.js | 4 + node_modules/mime/lite.js | 4 + node_modules/mime/package.json | 52 +++++ node_modules/mime/types/other.js | 1 + node_modules/mime/types/standard.js | 1 + package-lock.json | 30 +++ public/css/main.css | 5 + public/index.html | 8 +- public/js/homepage_main.js | 49 ++--- public/js/main.js | 37 ++-- server.improved.js | 140 +++++++------ tempCodeRunnerFile.js | 1 + 19 files changed, 881 insertions(+), 117 deletions(-) create mode 120000 node_modules/.bin/mime create mode 100644 node_modules/.package-lock.json create mode 100644 node_modules/mime/CHANGELOG.md create mode 100644 node_modules/mime/LICENSE create mode 100644 node_modules/mime/Mime.js create mode 100644 node_modules/mime/README.md create mode 100755 node_modules/mime/cli.js create mode 100644 node_modules/mime/index.js create mode 100644 node_modules/mime/lite.js create mode 100644 node_modules/mime/package.json create mode 100644 node_modules/mime/types/other.js create mode 100644 node_modules/mime/types/standard.js create mode 100644 package-lock.json create mode 100644 tempCodeRunnerFile.js diff --git a/node_modules/.bin/mime b/node_modules/.bin/mime new file mode 120000 index 00000000..fbb7ee0e --- /dev/null +++ b/node_modules/.bin/mime @@ -0,0 +1 @@ +../mime/cli.js \ No newline at end of file diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json new file mode 100644 index 00000000..a82af02d --- /dev/null +++ b/node_modules/.package-lock.json @@ -0,0 +1,18 @@ +{ + "name": "a2-valleyquail-shortstack", + "lockfileVersion": 2, + "requires": true, + "packages": { + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + } + } +} diff --git a/node_modules/mime/CHANGELOG.md b/node_modules/mime/CHANGELOG.md new file mode 100644 index 00000000..dd254310 --- /dev/null +++ b/node_modules/mime/CHANGELOG.md @@ -0,0 +1,296 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [2.6.0](https://github.com/broofa/mime/compare/v2.5.2...v2.6.0) (2021-11-02) + + +### Features + +* mime-db@1.50.0 ([cef0cc4](https://github.com/broofa/mime/commit/cef0cc484ff6d05ff1e12b54ca3e8b856fbc14d8)) + +### [2.5.2](https://github.com/broofa/mime/compare/v2.5.0...v2.5.2) (2021-02-17) + + +### Bug Fixes + +* update to mime-db@1.46.0, fixes [#253](https://github.com/broofa/mime/issues/253) ([f10e6aa](https://github.com/broofa/mime/commit/f10e6aa62e1356de7e2491d7fb4374c8dac65800)) + +## [2.5.0](https://github.com/broofa/mime/compare/v2.4.7...v2.5.0) (2021-01-16) + + +### Features + +* improved CLI ([#244](https://github.com/broofa/mime/issues/244)) ([c8a8356](https://github.com/broofa/mime/commit/c8a8356e3b27f3ef46b64b89b428fdb547b14d5f)) + +### [2.4.7](https://github.com/broofa/mime/compare/v2.4.6...v2.4.7) (2020-12-16) + + +### Bug Fixes + +* update to latest mime-db ([43b09ef](https://github.com/broofa/mime/commit/43b09eff0233eacc449af2b1f99a19ba9e104a44)) + +### [2.4.6](https://github.com/broofa/mime/compare/v2.4.5...v2.4.6) (2020-05-27) + + +### Bug Fixes + +* add cli.js to package.json files ([#237](https://github.com/broofa/mime/issues/237)) ([6c070bc](https://github.com/broofa/mime/commit/6c070bc298fa12a48e2ed126fbb9de641a1e7ebc)) + +### [2.4.5](https://github.com/broofa/mime/compare/v2.4.4...v2.4.5) (2020-05-01) + + +### Bug Fixes + +* fix [#236](https://github.com/broofa/mime/issues/236) ([7f4ecd0](https://github.com/broofa/mime/commit/7f4ecd0d850ed22c9e3bfda2c11fc74e4dde12a7)) +* update to latest mime-db ([c5cb3f2](https://github.com/broofa/mime/commit/c5cb3f2ab8b07642a066efbde1142af1b90c927b)) + +### [2.4.4](https://github.com/broofa/mime/compare/v2.4.3...v2.4.4) (2019-06-07) + + + +### [2.4.3](https://github.com/broofa/mime/compare/v2.4.2...v2.4.3) (2019-05-15) + + + +### [2.4.2](https://github.com/broofa/mime/compare/v2.4.1...v2.4.2) (2019-04-07) + + +### Bug Fixes + +* don't use arrow function introduced in 2.4.1 ([2e00b5c](https://github.com/broofa/mime/commit/2e00b5c)) + + + +### [2.4.1](https://github.com/broofa/mime/compare/v2.4.0...v2.4.1) (2019-04-03) + + +### Bug Fixes + +* update MDN and mime-db types ([3e567a9](https://github.com/broofa/mime/commit/3e567a9)) + + + +# [2.4.0](https://github.com/broofa/mime/compare/v2.3.1...v2.4.0) (2018-11-26) + + +### Features + +* Bind exported methods ([9d2a7b8](https://github.com/broofa/mime/commit/9d2a7b8)) +* update to mime-db@1.37.0 ([49e6e41](https://github.com/broofa/mime/commit/49e6e41)) + + + +### [2.3.1](https://github.com/broofa/mime/compare/v2.3.0...v2.3.1) (2018-04-11) + + +### Bug Fixes + +* fix [#198](https://github.com/broofa/mime/issues/198) ([25ca180](https://github.com/broofa/mime/commit/25ca180)) + + + +# [2.3.0](https://github.com/broofa/mime/compare/v2.2.2...v2.3.0) (2018-04-11) + + +### Bug Fixes + +* fix [#192](https://github.com/broofa/mime/issues/192) ([5c35df6](https://github.com/broofa/mime/commit/5c35df6)) + + +### Features + +* add travis-ci testing ([d64160f](https://github.com/broofa/mime/commit/d64160f)) + + + +### [2.2.2](https://github.com/broofa/mime/compare/v2.2.1...v2.2.2) (2018-03-30) + + +### Bug Fixes + +* update types files to mime-db@1.32.0 ([85aac16](https://github.com/broofa/mime/commit/85aac16)) + + +### [2.2.1](https://github.com/broofa/mime/compare/v2.2.0...v2.2.1) (2018-03-30) + + +### Bug Fixes + +* Retain type->extension mappings for non-default types. Fixes [#180](https://github.com/broofa/mime/issues/180) ([b5c83fb](https://github.com/broofa/mime/commit/b5c83fb)) + + + +# [2.2.0](https://github.com/broofa/mime/compare/v2.1.0...v2.2.0) (2018-01-04) + + +### Features + +* Retain type->extension mappings for non-default types. Fixes [#180](https://github.com/broofa/mime/issues/180) ([10f82ac](https://github.com/broofa/mime/commit/10f82ac)) + + + +# [2.1.0](https://github.com/broofa/mime/compare/v2.0.5...v2.1.0) (2017-12-22) + + +### Features + +* Upgrade to mime-db@1.32.0. Fixes [#185](https://github.com/broofa/mime/issues/185) ([3f775ba](https://github.com/broofa/mime/commit/3f775ba)) + + + +### [2.0.5](https://github.com/broofa/mime/compare/v2.0.1...v2.0.5) (2017-12-22) + + +### Bug Fixes + +* ES5 support (back to node v0.4) ([f14ccb6](https://github.com/broofa/mime/commit/f14ccb6)) + + + +# Changelog + +### v2.0.4 (24/11/2017) +- [**closed**] Switch to mime-score module for resolving extension contention issues. [#182](https://github.com/broofa/mime/issues/182) +- [**closed**] Update mime-db to 1.31.0 in v1.x branch [#181](https://github.com/broofa/mime/issues/181) + +--- + +## v1.5.0 (22/11/2017) +- [**closed**] need ES5 version ready in npm package [#179](https://github.com/broofa/mime/issues/179) +- [**closed**] mime-db no trace of iWork - pages / numbers / etc. [#178](https://github.com/broofa/mime/issues/178) +- [**closed**] How it works in brownser ? [#176](https://github.com/broofa/mime/issues/176) +- [**closed**] Missing `./Mime` [#175](https://github.com/broofa/mime/issues/175) +- [**closed**] Vulnerable Regular Expression [#167](https://github.com/broofa/mime/issues/167) + +--- + +### v2.0.3 (25/09/2017) +*No changelog for this release.* + +--- + +### v1.4.1 (25/09/2017) +- [**closed**] Issue when bundling with webpack [#172](https://github.com/broofa/mime/issues/172) + +--- + +### v2.0.2 (15/09/2017) +- [**V2**] fs.readFileSync is not a function [#165](https://github.com/broofa/mime/issues/165) +- [**closed**] The extension for video/quicktime should map to .mov, not .qt [#164](https://github.com/broofa/mime/issues/164) +- [**V2**] [v2 Feedback request] Mime class API [#163](https://github.com/broofa/mime/issues/163) +- [**V2**] [v2 Feedback request] Resolving conflicts over extensions [#162](https://github.com/broofa/mime/issues/162) +- [**V2**] Allow callers to load module with official, full, or no defined types. [#161](https://github.com/broofa/mime/issues/161) +- [**V2**] Use "facets" to resolve extension conflicts [#160](https://github.com/broofa/mime/issues/160) +- [**V2**] Remove fs and path dependencies [#152](https://github.com/broofa/mime/issues/152) +- [**V2**] Default content-type should not be application/octet-stream [#139](https://github.com/broofa/mime/issues/139) +- [**V2**] reset mime-types [#124](https://github.com/broofa/mime/issues/124) +- [**V2**] Extensionless paths should return null or false [#113](https://github.com/broofa/mime/issues/113) + +--- + +### v2.0.1 (14/09/2017) +- [**closed**] Changelog for v2.0 does not mention breaking changes [#171](https://github.com/broofa/mime/issues/171) +- [**closed**] MIME breaking with 'class' declaration as it is without 'use strict mode' [#170](https://github.com/broofa/mime/issues/170) + +--- + +## v2.0.0 (12/09/2017) +- [**closed**] woff and woff2 [#168](https://github.com/broofa/mime/issues/168) + +--- + +## v1.4.0 (28/08/2017) +- [**closed**] support for ac3 voc files [#159](https://github.com/broofa/mime/issues/159) +- [**closed**] Help understanding change from application/xml to text/xml [#158](https://github.com/broofa/mime/issues/158) +- [**closed**] no longer able to override mimetype [#157](https://github.com/broofa/mime/issues/157) +- [**closed**] application/vnd.adobe.photoshop [#147](https://github.com/broofa/mime/issues/147) +- [**closed**] Directories should appear as something other than application/octet-stream [#135](https://github.com/broofa/mime/issues/135) +- [**closed**] requested features [#131](https://github.com/broofa/mime/issues/131) +- [**closed**] Make types.json loading optional? [#129](https://github.com/broofa/mime/issues/129) +- [**closed**] Cannot find module './types.json' [#120](https://github.com/broofa/mime/issues/120) +- [**V2**] .wav files show up as "audio/x-wav" instead of "audio/x-wave" [#118](https://github.com/broofa/mime/issues/118) +- [**closed**] Don't be a pain in the ass for node community [#108](https://github.com/broofa/mime/issues/108) +- [**closed**] don't make default_type global [#78](https://github.com/broofa/mime/issues/78) +- [**closed**] mime.extension() fails if the content-type is parameterized [#74](https://github.com/broofa/mime/issues/74) + +--- + +### v1.3.6 (11/05/2017) +- [**closed**] .md should be text/markdown as of March 2016 [#154](https://github.com/broofa/mime/issues/154) +- [**closed**] Error while installing mime [#153](https://github.com/broofa/mime/issues/153) +- [**closed**] application/manifest+json [#149](https://github.com/broofa/mime/issues/149) +- [**closed**] Dynamic adaptive streaming over HTTP (DASH) file extension typo [#141](https://github.com/broofa/mime/issues/141) +- [**closed**] charsets image/png undefined [#140](https://github.com/broofa/mime/issues/140) +- [**closed**] Mime-db dependency out of date [#130](https://github.com/broofa/mime/issues/130) +- [**closed**] how to support plist? [#126](https://github.com/broofa/mime/issues/126) +- [**closed**] how does .types file format look like? [#123](https://github.com/broofa/mime/issues/123) +- [**closed**] Feature: support for expanding MIME patterns [#121](https://github.com/broofa/mime/issues/121) +- [**closed**] DEBUG_MIME doesn't work [#117](https://github.com/broofa/mime/issues/117) + +--- + +### v1.3.4 (06/02/2015) +*No changelog for this release.* + +--- + +### v1.3.3 (06/02/2015) +*No changelog for this release.* + +--- + +### v1.3.1 (05/02/2015) +- [**closed**] Consider adding support for Handlebars .hbs file ending [#111](https://github.com/broofa/mime/issues/111) +- [**closed**] Consider adding support for hjson. [#110](https://github.com/broofa/mime/issues/110) +- [**closed**] Add mime type for Opus audio files [#94](https://github.com/broofa/mime/issues/94) +- [**closed**] Consider making the `Requesting New Types` information more visible [#77](https://github.com/broofa/mime/issues/77) + +--- + +## v1.3.0 (05/02/2015) +- [**closed**] Add common name? [#114](https://github.com/broofa/mime/issues/114) +- [**closed**] application/x-yaml [#104](https://github.com/broofa/mime/issues/104) +- [**closed**] Add mime type for WOFF file format 2.0 [#102](https://github.com/broofa/mime/issues/102) +- [**closed**] application/x-msi for .msi [#99](https://github.com/broofa/mime/issues/99) +- [**closed**] Add mimetype for gettext translation files [#98](https://github.com/broofa/mime/issues/98) +- [**closed**] collaborators [#88](https://github.com/broofa/mime/issues/88) +- [**closed**] getting errot in installation of mime module...any1 can help? [#87](https://github.com/broofa/mime/issues/87) +- [**closed**] should application/json's charset be utf8? [#86](https://github.com/broofa/mime/issues/86) +- [**closed**] Add "license" and "licenses" to package.json [#81](https://github.com/broofa/mime/issues/81) +- [**closed**] lookup with extension-less file on Windows returns wrong type [#68](https://github.com/broofa/mime/issues/68) + +--- + +### v1.2.11 (15/08/2013) +- [**closed**] Update mime.types [#65](https://github.com/broofa/mime/issues/65) +- [**closed**] Publish a new version [#63](https://github.com/broofa/mime/issues/63) +- [**closed**] README should state upfront that "application/octet-stream" is default for unknown extension [#55](https://github.com/broofa/mime/issues/55) +- [**closed**] Suggested improvement to the charset API [#52](https://github.com/broofa/mime/issues/52) + +--- + +### v1.2.10 (25/07/2013) +- [**closed**] Mime type for woff files should be application/font-woff and not application/x-font-woff [#62](https://github.com/broofa/mime/issues/62) +- [**closed**] node.types in conflict with mime.types [#51](https://github.com/broofa/mime/issues/51) + +--- + +### v1.2.9 (17/01/2013) +- [**closed**] Please update "mime" NPM [#49](https://github.com/broofa/mime/issues/49) +- [**closed**] Please add semicolon [#46](https://github.com/broofa/mime/issues/46) +- [**closed**] parse full mime types [#43](https://github.com/broofa/mime/issues/43) + +--- + +### v1.2.8 (10/01/2013) +- [**closed**] /js directory mime is application/javascript. Is it correct? [#47](https://github.com/broofa/mime/issues/47) +- [**closed**] Add mime types for lua code. [#45](https://github.com/broofa/mime/issues/45) + +--- + +### v1.2.7 (19/10/2012) +- [**closed**] cannot install 1.2.7 via npm [#41](https://github.com/broofa/mime/issues/41) +- [**closed**] Transfer ownership to @broofa [#36](https://github.com/broofa/mime/issues/36) +- [**closed**] it's wrong to set charset to UTF-8 for text [#30](https://github.com/broofa/mime/issues/30) +- [**closed**] Allow multiple instances of MIME types container [#27](https://github.com/broofa/mime/issues/27) diff --git a/node_modules/mime/LICENSE b/node_modules/mime/LICENSE new file mode 100644 index 00000000..d3f46f7e --- /dev/null +++ b/node_modules/mime/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2010 Benjamin Thomas, Robert Kieffer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/mime/Mime.js b/node_modules/mime/Mime.js new file mode 100644 index 00000000..969a66e4 --- /dev/null +++ b/node_modules/mime/Mime.js @@ -0,0 +1,97 @@ +'use strict'; + +/** + * @param typeMap [Object] Map of MIME type -> Array[extensions] + * @param ... + */ +function Mime() { + this._types = Object.create(null); + this._extensions = Object.create(null); + + for (let i = 0; i < arguments.length; i++) { + this.define(arguments[i]); + } + + this.define = this.define.bind(this); + this.getType = this.getType.bind(this); + this.getExtension = this.getExtension.bind(this); +} + +/** + * Define mimetype -> extension mappings. Each key is a mime-type that maps + * to an array of extensions associated with the type. The first extension is + * used as the default extension for the type. + * + * e.g. mime.define({'audio/ogg', ['oga', 'ogg', 'spx']}); + * + * If a type declares an extension that has already been defined, an error will + * be thrown. To suppress this error and force the extension to be associated + * with the new type, pass `force`=true. Alternatively, you may prefix the + * extension with "*" to map the type to extension, without mapping the + * extension to the type. + * + * e.g. mime.define({'audio/wav', ['wav']}, {'audio/x-wav', ['*wav']}); + * + * + * @param map (Object) type definitions + * @param force (Boolean) if true, force overriding of existing definitions + */ +Mime.prototype.define = function(typeMap, force) { + for (let type in typeMap) { + let extensions = typeMap[type].map(function(t) { + return t.toLowerCase(); + }); + type = type.toLowerCase(); + + for (let i = 0; i < extensions.length; i++) { + const ext = extensions[i]; + + // '*' prefix = not the preferred type for this extension. So fixup the + // extension, and skip it. + if (ext[0] === '*') { + continue; + } + + if (!force && (ext in this._types)) { + throw new Error( + 'Attempt to change mapping for "' + ext + + '" extension from "' + this._types[ext] + '" to "' + type + + '". Pass `force=true` to allow this, otherwise remove "' + ext + + '" from the list of extensions for "' + type + '".' + ); + } + + this._types[ext] = type; + } + + // Use first extension as default + if (force || !this._extensions[type]) { + const ext = extensions[0]; + this._extensions[type] = (ext[0] !== '*') ? ext : ext.substr(1); + } + } +}; + +/** + * Lookup a mime type based on extension + */ +Mime.prototype.getType = function(path) { + path = String(path); + let last = path.replace(/^.*[/\\]/, '').toLowerCase(); + let ext = last.replace(/^.*\./, '').toLowerCase(); + + let hasPath = last.length < path.length; + let hasDot = ext.length < last.length - 1; + + return (hasDot || !hasPath) && this._types[ext] || null; +}; + +/** + * Return file extension associated with a mime type + */ +Mime.prototype.getExtension = function(type) { + type = /^\s*([^;\s]*)/.test(type) && RegExp.$1; + return type && this._extensions[type.toLowerCase()] || null; +}; + +module.exports = Mime; diff --git a/node_modules/mime/README.md b/node_modules/mime/README.md new file mode 100644 index 00000000..b08316f2 --- /dev/null +++ b/node_modules/mime/README.md @@ -0,0 +1,187 @@ + +# Mime + +A comprehensive, compact MIME type module. + +[![Build Status](https://travis-ci.org/broofa/mime.svg?branch=master)](https://travis-ci.org/broofa/mime) + +## Version 2 Notes + +Version 2 is a breaking change from 1.x as the semver implies. Specifically: + +* `lookup()` renamed to `getType()` +* `extension()` renamed to `getExtension()` +* `charset()` and `load()` methods have been removed + +If you prefer the legacy version of this module please `npm install mime@^1`. Version 1 docs may be found [here](https://github.com/broofa/mime/tree/v1.4.0). + +## Install + +### NPM +``` +npm install mime +``` + +### Browser + +It is recommended that you use a bundler such as +[webpack](https://webpack.github.io/) or [browserify](http://browserify.org/) to +package your code. However, browser-ready versions are available via wzrd.in. +E.g. For the full version: + + + + +Or, for the `mime/lite` version: + + + + +## Quick Start + +For the full version (800+ MIME types, 1,000+ extensions): + +```javascript +const mime = require('mime'); + +mime.getType('txt'); // ⇨ 'text/plain' +mime.getExtension('text/plain'); // ⇨ 'txt' +``` + +See [Mime API](#mime-api) below for API details. + +## Lite Version + +There is also a "lite" version of this module that omits vendor-specific +(`*/vnd.*`) and experimental (`*/x-*`) types. It weighs in at ~2.5KB, compared +to 8KB for the full version. To load the lite version: + +```javascript +const mime = require('mime/lite'); +``` + +## Mime .vs. mime-types .vs. mime-db modules + +For those of you wondering about the difference between these [popular] NPM modules, +here's a brief rundown ... + +[`mime-db`](https://github.com/jshttp/mime-db) is "the source of +truth" for MIME type information. It is not an API. Rather, it is a canonical +dataset of mime type definitions pulled from IANA, Apache, NGINX, and custom mappings +submitted by the Node.js community. + +[`mime-types`](https://github.com/jshttp/mime-types) is a thin +wrapper around mime-db that provides an API drop-in compatible(ish) with `mime @ < v1.3.6` API. + +`mime` is, as of v2, a self-contained module bundled with a pre-optimized version +of the `mime-db` dataset. It provides a simplified API with the following characteristics: + +* Intelligently resolved type conflicts (See [mime-score](https://github.com/broofa/mime-score) for details) +* Method naming consistent with industry best-practices +* Compact footprint. E.g. The minified+compressed sizes of the various modules: + +Module | Size +--- | --- +`mime-db` | 18 KB +`mime-types` | same as mime-db +`mime` | 8 KB +`mime/lite` | 2 KB + +## Mime API + +Both `require('mime')` and `require('mime/lite')` return instances of the MIME +class, documented below. + +Note: Inputs to this API are case-insensitive. Outputs (returned values) will +be lowercase. + +### new Mime(typeMap, ... more maps) + +Most users of this module will not need to create Mime instances directly. +However if you would like to create custom mappings, you may do so as follows +... + +```javascript +// Require Mime class +const Mime = require('mime/Mime'); + +// Define mime type -> extensions map +const typeMap = { + 'text/abc': ['abc', 'alpha', 'bet'], + 'text/def': ['leppard'] +}; + +// Create and use Mime instance +const myMime = new Mime(typeMap); +myMime.getType('abc'); // ⇨ 'text/abc' +myMime.getExtension('text/def'); // ⇨ 'leppard' +``` + +If more than one map argument is provided, each map is `define()`ed (see below), in order. + +### mime.getType(pathOrExtension) + +Get mime type for the given path or extension. E.g. + +```javascript +mime.getType('js'); // ⇨ 'application/javascript' +mime.getType('json'); // ⇨ 'application/json' + +mime.getType('txt'); // ⇨ 'text/plain' +mime.getType('dir/text.txt'); // ⇨ 'text/plain' +mime.getType('dir\\text.txt'); // ⇨ 'text/plain' +mime.getType('.text.txt'); // ⇨ 'text/plain' +mime.getType('.txt'); // ⇨ 'text/plain' +``` + +`null` is returned in cases where an extension is not detected or recognized + +```javascript +mime.getType('foo/txt'); // ⇨ null +mime.getType('bogus_type'); // ⇨ null +``` + +### mime.getExtension(type) +Get extension for the given mime type. Charset options (often included in +Content-Type headers) are ignored. + +```javascript +mime.getExtension('text/plain'); // ⇨ 'txt' +mime.getExtension('application/json'); // ⇨ 'json' +mime.getExtension('text/html; charset=utf8'); // ⇨ 'html' +``` + +### mime.define(typeMap[, force = false]) + +Define [more] type mappings. + +`typeMap` is a map of type -> extensions, as documented in `new Mime`, above. + +By default this method will throw an error if you try to map a type to an +extension that is already assigned to another type. Passing `true` for the +`force` argument will suppress this behavior (overriding any previous mapping). + +```javascript +mime.define({'text/x-abc': ['abc', 'abcd']}); + +mime.getType('abcd'); // ⇨ 'text/x-abc' +mime.getExtension('text/x-abc') // ⇨ 'abc' +``` + +## Command Line + + mime [path_or_extension] + +E.g. + + > mime scripts/jquery.js + application/javascript + +---- +Markdown generated from [src/README_js.md](src/README_js.md) by [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](https://github.com/broofa/runmd) \ No newline at end of file diff --git a/node_modules/mime/cli.js b/node_modules/mime/cli.js new file mode 100755 index 00000000..ab70a49c --- /dev/null +++ b/node_modules/mime/cli.js @@ -0,0 +1,46 @@ +#!/usr/bin/env node + +'use strict'; + +process.title = 'mime'; +let mime = require('.'); +let pkg = require('./package.json'); +let args = process.argv.splice(2); + +if (args.includes('--version') || args.includes('-v') || args.includes('--v')) { + console.log(pkg.version); + process.exit(0); +} else if (args.includes('--name') || args.includes('-n') || args.includes('--n')) { + console.log(pkg.name); + process.exit(0); +} else if (args.includes('--help') || args.includes('-h') || args.includes('--h')) { + console.log(pkg.name + ' - ' + pkg.description + '\n'); + console.log(`Usage: + + mime [flags] [path_or_extension] + + Flags: + --help, -h Show this message + --version, -v Display the version + --name, -n Print the name of the program + + Note: the command will exit after it executes if a command is specified + The path_or_extension is the path to the file or the extension of the file. + + Examples: + mime --help + mime --version + mime --name + mime -v + mime src/log.js + mime new.py + mime foo.sh + `); + process.exit(0); +} + +let file = args[0]; +let type = mime.getType(file); + +process.stdout.write(type + '\n'); + diff --git a/node_modules/mime/index.js b/node_modules/mime/index.js new file mode 100644 index 00000000..fadcf8d6 --- /dev/null +++ b/node_modules/mime/index.js @@ -0,0 +1,4 @@ +'use strict'; + +let Mime = require('./Mime'); +module.exports = new Mime(require('./types/standard'), require('./types/other')); diff --git a/node_modules/mime/lite.js b/node_modules/mime/lite.js new file mode 100644 index 00000000..835cffb3 --- /dev/null +++ b/node_modules/mime/lite.js @@ -0,0 +1,4 @@ +'use strict'; + +let Mime = require('./Mime'); +module.exports = new Mime(require('./types/standard')); diff --git a/node_modules/mime/package.json b/node_modules/mime/package.json new file mode 100644 index 00000000..df7f369b --- /dev/null +++ b/node_modules/mime/package.json @@ -0,0 +1,52 @@ +{ + "author": { + "name": "Robert Kieffer", + "url": "http://github.com/broofa", + "email": "robert@broofa.com" + }, + "engines": { + "node": ">=4.0.0" + }, + "bin": { + "mime": "cli.js" + }, + "contributors": [], + "description": "A comprehensive library for mime-type mapping", + "license": "MIT", + "dependencies": {}, + "devDependencies": { + "benchmark": "*", + "chalk": "4.1.2", + "eslint": "8.1.0", + "mime-db": "1.50.0", + "mime-score": "1.2.0", + "mime-types": "2.1.33", + "mocha": "9.1.3", + "runmd": "*", + "standard-version": "9.3.2" + }, + "files": [ + "index.js", + "lite.js", + "Mime.js", + "cli.js", + "/types" + ], + "scripts": { + "prepare": "node src/build.js && runmd --output README.md src/README_js.md", + "release": "standard-version", + "benchmark": "node src/benchmark.js", + "md": "runmd --watch --output README.md src/README_js.md", + "test": "mocha src/test.js" + }, + "keywords": [ + "util", + "mime" + ], + "name": "mime", + "repository": { + "url": "https://github.com/broofa/mime", + "type": "git" + }, + "version": "2.6.0" +} diff --git a/node_modules/mime/types/other.js b/node_modules/mime/types/other.js new file mode 100644 index 00000000..bb6a0353 --- /dev/null +++ b/node_modules/mime/types/other.js @@ -0,0 +1 @@ +module.exports = {"application/prs.cww":["cww"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mapbox-vector-tile":["mvt"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["*stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.ac+xml":["*ac"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openblox.game+xml":["obgx"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openstreetmap.data+xml":["osm"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.rar":["rar"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":["fo"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dmddf+xml":["ddf"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["*dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["*bdoc"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["*deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["*iso"],"application/x-iwork-keynote-sffkey":["*key"],"application/x-iwork-numbers-sffnumbers":["*numbers"],"application/x-iwork-pages-sffpages":["*pages"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-keepass2":["kdbx"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["*exe"],"application/x-msdownload":["*exe","*dll","com","bat","*msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["*wmf","*wmz","*emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["*prc","*pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["*rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["*obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["*xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["*m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["*ra"],"audio/x-wav":["*wav"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"image/prs.btif":["btif"],"image/prs.pti":["pti"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.airzip.accelerator.azv":["azv"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["*sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.microsoft.icon":["ico"],"image/vnd.ms-dds":["dds"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.pco.b16":["b16"],"image/vnd.tencent.tap":["tap"],"image/vnd.valve.source.texture":["vtf"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/vnd.zbrush.pcx":["pcx"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["*ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["*bmp"],"image/x-pcx":["*pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/vnd.wfa.wsc":["wsc"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.opengex":["ogex"],"model/vnd.parasolid.transmit.binary":["x_b"],"model/vnd.parasolid.transmit.text":["x_t"],"model/vnd.sap.vds":["vds"],"model/vnd.usdz+zip":["usdz"],"model/vnd.valve.source.compiled-map":["bsp"],"model/vnd.vtu":["vtu"],"text/prs.lines.tag":["dsc"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["*org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]}; \ No newline at end of file diff --git a/node_modules/mime/types/standard.js b/node_modules/mime/types/standard.js new file mode 100644 index 00000000..5ee9937e --- /dev/null +++ b/node_modules/mime/types/standard.js @@ -0,0 +1 @@ +module.exports = {"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["es","ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avif":["avif"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]}; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..1aafbdb9 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,30 @@ +{ + "name": "a2-valleyquail-shortstack", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "dependencies": { + "mime": "^2.4.4" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + } + }, + "dependencies": { + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" + } + } +} diff --git a/public/css/main.css b/public/css/main.css index a5c93434..9c792c90 100644 --- a/public/css/main.css +++ b/public/css/main.css @@ -45,4 +45,9 @@ button { border-radius: 10px; color: white; background-color: #a23535; + transition-duration: 0.2s; +} + +button:hover { + background-color: #801313; } diff --git a/public/index.html b/public/index.html index 29bbd7aa..dd703019 100644 --- a/public/index.html +++ b/public/index.html @@ -10,16 +10,20 @@ + + - */ -writeInfoToScreen = function (submissions) { - const gridList = document.getElementById("#grid-list"); +const writeInfoToScreen = function (submissions) { + let entriesList = document.getElementById("listOfEntries"); - gridList.innerHTML = ""; + entriesList.innerHTML = ""; let hoursSum = 7; - for (entry in submissions) { + for (i = 0; i < submissions.length; i++) { + let entry = submissions[i]; let entryHTML = document.createElement("div"); entryHTML.classList.add("entry"); @@ -118,27 +121,27 @@ writeInfoToScreen = function (submissions) { let dateHTML = document.createElement("p"); dateHTML.textContent = "Date: " + entry.data; dateHTML.classList.add("calories"); - infoHTML.appendChild(dateHTML); + info.appendChild(dateHTML); let reasonHTML = document.createElement("p"); - reasonHTML.textContent = "Reason: " + entryData.reason; + reasonHTML.textContent = "Reason: " + entry.reason; reasonHTML.classList.add("reason"); - infoHTML.appendChild(reasonHTML); + info.appendChild(reasonHTML); let hoursLeftHTML = document.createElement("p"); hoursLeftHTML.textContent = - "Hours Left After This: " + (hoursSum - entryData.numHours) + " hours"; - hoursSum -= numHours; - percentProteinHTML.classList.add("hoursLeft"); - infoHTML.appendChild(hoursLeftHTML); + "Hours Left After This: " + (hoursSum - entry.numHours) + " hours"; + hoursSum -= entry.numHours; + hoursLeftHTML.classList.add("hoursLeft"); + info.appendChild(hoursLeftHTML); - entryHTML.appendChild(infoHTML); + entryHTML.appendChild(info); let deleteHTML = document.createElement("div"); deleteHTML.style.height = "40px"; deleteHTML.classList.add("delete"); deleteHTML.onclick = async function () { - const json = { mode: "delete", id: entryData.id }; + const json = { mode: "delete", id: entry.id }; const body = JSON.stringify(json); await serverResponse(body); }; @@ -146,10 +149,10 @@ writeInfoToScreen = function (submissions) { let deletButton = document.createElement("a"); deletButton.textContent = "x"; deletButton.classList.add("delete_x"); - deleteHTML.appendChild(deleteXHTML); + deleteHTML.appendChild(deletButton); entryHTML.appendChild(deleteHTML); - gridList.appendChild(entryHTML); + entriesList.appendChild(entryHTML); } }; diff --git a/public/js/main.js b/public/js/main.js index e7465f5d..eb2464c8 100644 --- a/public/js/main.js +++ b/public/js/main.js @@ -1,38 +1,35 @@ // FRONT-END (CLIENT) JAVASCRIPT HERE -const submit = async function( event ) { +const submit = async function (event) { // stop form submission from trying to load // a new .html page for displaying results... // this was the original browser behavior and still // remains to this day // event.preventDefault() - - const input = document.querySelector( '#yourname' ), - json = { yourname: input.value }, - body = JSON.stringify( json ) - const response = await fetch( '/submit', { - method:'POST', - body - }) + const input = document.querySelector("#yourname"), + json = { yourname: input.value }, + body = JSON.stringify(json); - const text = await response.text() + const response = await fetch("/submit", { + method: "POST", + body, + }); - console.log( 'text:', text ) -} + const text = await response.text(); + + console.log("text:", text); +}; //Front end for page one -const login_validate = async function( event ){ +const login_validate = async function (event) { // username = document.querySelector('#user_name_box').get; - - fetch('/homepage.html').then((response) => response.json()) -.then((json) => console.log(json)); -} - + window.location.href = "../homepage.html"; +}; -window.onload = function(){ +window.onload = function () { const loginButton = document.querySelector("#sign_in_button"); loginButton.onclick = login_validate; -} \ No newline at end of file +}; diff --git a/server.improved.js b/server.improved.js index 48b339d6..d55ba8af 100644 --- a/server.improved.js +++ b/server.improved.js @@ -1,75 +1,71 @@ -const http = require( 'http' ), - fs = require( 'fs' ), - // IMPORTANT: you must run `npm install` in the directory for this assignment - // to install the mime library if you're testing this on your local machine. - // However, Glitch will install it automatically by looking in your package.json - // file. - mime = require( 'mime' ), - dir = 'public/', - port = 3000 - -const appdata = [ - { 'model': 'toyota', 'year': 1999, 'mpg': 23 }, - { 'model': 'honda', 'year': 2004, 'mpg': 30 }, - { 'model': 'ford', 'year': 1987, 'mpg': 14} -] - -const server = http.createServer( function( request,response ) { - if( request.method === 'GET' ) { - handleGet( request, response ) - }else if( request.method === 'POST' ){ - handlePost( request, response ) +const http = require("http"), + fs = require("fs"), + // IMPORTANT: you must run `npm install` in the directory for this assignment + // to install the mime library if you're testing this on your local machine. + // However, Glitch will install it automatically by looking in your package.json + // file. + mime = require("mime"), + dir = "public/", + port = 8080; + +const appdata = []; + +const server = http.createServer(function (request, response) { + if (request.method === "GET") { + handleGet(request, response); + } else if (request.method === "POST") { + handlePost(request, response); } -}) - -const handleGet = function( request, response ) { - const filename = dir + request.url.slice( 1 ) - - if( request.url === '/' ) { - sendFile( response, 'public/index.html') - }else{ - sendFile( response, filename ) +}); + +const handleGet = function (request, response) { + const filename = dir + request.url.slice(1); + //const parsed = url.parse(request.url); + if (request.url === "/") { + sendFile(response, "public/index.html"); + } else { + sendFile(response, filename); } console.log(filename); -} - -const handlePost = function( request, response ) { - let dataString = '' - - request.on( 'data', function( data ) { - dataString += data - }) - - request.on( 'end', function() { - console.log( JSON.parse( dataString ) ) - - // ... do something with the data here!!! - - response.writeHead( 200, "OK", {'Content-Type': 'text/plain' }) - response.end('test') - }) -} - -const sendFile = function( response, filename ) { - const type = mime.getType( filename ) - - fs.readFile( filename, function( err, content ) { - - // if the error = null, then we've loaded the file successfully - if( err === null ) { - - // status code: https://httpstatuses.com - response.writeHeader( 200, { 'Content-Type': type }) - response.end( content ) - - }else{ - - // file not found, error code 404 - response.writeHeader( 404 ) - response.end( '404 Error: File Not Found' ) - - } - }) -} - -server.listen( process.env.PORT || port ) +}; + +const handlePost = function (request, response) { + let dataString = ""; + + request.on("data", function (data) { + dataString += data; + }); + + request.on("end", function () { + let data = JSON.parse(dataString); + console.log(data); + const entry = { + date: data.date, + numHours: parseInt(data.numHours), + reason: data.reason, + }; + appdata.push(entry); + let text = JSON.stringify(appdata); + response.writeHead(200, "OK", { "Content-Type": "text/plain" }); + response.end(text); + }); +}; + +const sendFile = function (response, filename) { + const type = mime.getType(filename); + + fs.readFile(filename, function (err, content) { + // if the error = null, then we've loaded the file successfully + if (err === null) { + // status code: https://httpstatuses.com + response.writeHeader(200, { "Content-Type": type }); + response.end(content); + } else { + // file not found, error code 404 + response.writeHeader(404); + response.end("404 Error: File Not Found"); + } + }); +}; + +server.listen(process.env.PORT || port); diff --git a/tempCodeRunnerFile.js b/tempCodeRunnerFile.js new file mode 100644 index 00000000..7f75648f --- /dev/null +++ b/tempCodeRunnerFile.js @@ -0,0 +1 @@ + appdata += JSON.parse(dataString); \ No newline at end of file From 755a708a11c1197b6cc0e06ad24712d8bbd65bfd Mon Sep 17 00:00:00 2001 From: Nikesh Walling Date: Fri, 15 Sep 2023 15:59:48 -0400 Subject: [PATCH 4/8] Working except for removing from list --- .../Resources}/RhoBetaEpsilon_Logo.jpg | Bin .../Resources}/RhoBetaEpsilon_Logo.svg | 0 .../RhoBetaEpsilon_Logo_noBackground.png | Bin public/js/homepage_main.js | 41 +++++++++++++----- server.improved.js | 37 +++++++++++++--- 5 files changed, 62 insertions(+), 16 deletions(-) rename {Resources => public/Resources}/RhoBetaEpsilon_Logo.jpg (100%) rename {Resources => public/Resources}/RhoBetaEpsilon_Logo.svg (100%) rename {Resources => public/Resources}/RhoBetaEpsilon_Logo_noBackground.png (100%) diff --git a/Resources/RhoBetaEpsilon_Logo.jpg b/public/Resources/RhoBetaEpsilon_Logo.jpg similarity index 100% rename from Resources/RhoBetaEpsilon_Logo.jpg rename to public/Resources/RhoBetaEpsilon_Logo.jpg diff --git a/Resources/RhoBetaEpsilon_Logo.svg b/public/Resources/RhoBetaEpsilon_Logo.svg similarity index 100% rename from Resources/RhoBetaEpsilon_Logo.svg rename to public/Resources/RhoBetaEpsilon_Logo.svg diff --git a/Resources/RhoBetaEpsilon_Logo_noBackground.png b/public/Resources/RhoBetaEpsilon_Logo_noBackground.png similarity index 100% rename from Resources/RhoBetaEpsilon_Logo_noBackground.png rename to public/Resources/RhoBetaEpsilon_Logo_noBackground.png diff --git a/public/js/homepage_main.js b/public/js/homepage_main.js index 073baea6..9e7c987d 100644 --- a/public/js/homepage_main.js +++ b/public/js/homepage_main.js @@ -1,10 +1,13 @@ // FRONT-END (CLIENT) JAVASCRIPT HERE +let global_entryID = 0; + class hourEntry { constructor(date, num, reasoning) { this.date = date; this.numHours = num; this.reason = reasoning; + this.id = global_entryID++; } setDate(date) { this.date = date; @@ -17,8 +20,8 @@ class hourEntry { this.reason = reason; } - setValid(isValid) { - this.valid = isValid; + setID(id) { + this.id = id; } } @@ -56,22 +59,37 @@ const submit = async function (event) { } error.style.opacity = 0; newSubmission = new hourEntry(dateVal, numHours, reasoning); - console.log(newSubmission); + const json = { mode: "add", entry: newSubmission }; const body = JSON.stringify(json); serverResponse(body); }; const serverResponse = async function (body) { - const response = fetch("/submit", { + const response = await fetch("/submit", { method: "POST", body: body, }); const text = await response.text(); - let data = JSON.parse(text); + const data = JSON.parse(text); console.log("data:", data); - writeInfoToScreen(data.entries); + writeInfoToScreen(data); +}; + +const clear = async function (event) { + // stop form submission from trying to load + // a new .html page for displaying results... + // this was the original browser behavior and still + // remains to this day + event.preventDefault(); + + console.log("clear"); + + const json = { mode: "clear" }; + const body = JSON.stringify(json); + + await serverResponse(body); }; //Front end for page one @@ -85,6 +103,7 @@ window.onload = function () { const body = JSON.stringify(json); (async function () { + clear(); await serverResponse(body); })(); }; @@ -140,15 +159,15 @@ const writeInfoToScreen = function (submissions) { let deleteHTML = document.createElement("div"); deleteHTML.style.height = "40px"; deleteHTML.classList.add("delete"); - deleteHTML.onclick = async function () { - const json = { mode: "delete", id: entry.id }; - const body = JSON.stringify(json); - await serverResponse(body); - }; let deletButton = document.createElement("a"); deletButton.textContent = "x"; deletButton.classList.add("delete_x"); + deletButton.onclick = async function () { + const json = { mode: "delete", id: entry.id }; + const body = JSON.stringify(json); + await serverResponse(body); + }; deleteHTML.appendChild(deletButton); entryHTML.appendChild(deleteHTML); diff --git a/server.improved.js b/server.improved.js index d55ba8af..b9ace479 100644 --- a/server.improved.js +++ b/server.improved.js @@ -8,7 +8,7 @@ const http = require("http"), dir = "public/", port = 8080; -const appdata = []; +let appdata = []; const server = http.createServer(function (request, response) { if (request.method === "GET") { @@ -20,7 +20,7 @@ const server = http.createServer(function (request, response) { const handleGet = function (request, response) { const filename = dir + request.url.slice(1); - //const parsed = url.parse(request.url); + if (request.url === "/") { sendFile(response, "public/index.html"); } else { @@ -38,13 +38,40 @@ const handlePost = function (request, response) { request.on("end", function () { let data = JSON.parse(dataString); + + if (data.mode === "clear") { + appdata = []; + } + if (data.mode === "read") { + let text = JSON.stringify(appdata); + response.writeHead(200, "OK", { "Content-Type": "text/plain" }); + response.end(text); + return; + } + if (data.mode === "delete") { + const target = data.id; + console.log("Target:", target); + for (i = 0; i < appdata.length; i++) { + if (appdata[i].id === target) { + console.log("Deleting the element: ", appdata[i]); + let temp = appdata.slice(i, 1); + console.log("Removed: ", JSON.stringify(temp)); + console.log("New appdata", JSON.stringify(appdata)); + return; + } + } + + return; + } console.log(data); const entry = { - date: data.date, - numHours: parseInt(data.numHours), - reason: data.reason, + date: data.entry.date, + numHours: parseInt(data.entry.numHours), + reason: data.entry.reason, + id: data.entry.id, }; appdata.push(entry); + let text = JSON.stringify(appdata); response.writeHead(200, "OK", { "Content-Type": "text/plain" }); response.end(text); From 740d05bd3929346cc5f35e3cfd1c5c4c2c2ce7d1 Mon Sep 17 00:00:00 2001 From: Nikesh Walling Date: Sat, 16 Sep 2023 13:34:23 -0400 Subject: [PATCH 5/8] Finished homework --- public/css/homepage.css | 12 +++++ public/homepage.html | 7 ++- public/js/homepage_main.js | 98 ++++++++++++++++++++++---------------- server.improved.js | 32 ++++++------- 4 files changed, 90 insertions(+), 59 deletions(-) diff --git a/public/css/homepage.css b/public/css/homepage.css index 7ab39f9b..c750eda2 100644 --- a/public/css/homepage.css +++ b/public/css/homepage.css @@ -84,3 +84,15 @@ input[type="button"] { input[type="button"]:hover { background-color: #801313; } + +button { + margin: 0px 20px 0px 0px; + font-size: 14px; + border: var(--secondary-color); + height: 20px; + width: 96px; + border-radius: 10px; + color: white; + background-color: #a23535; + transition-duration: 0.2s; +} diff --git a/public/homepage.html b/public/homepage.html index 493059a5..bd14f036 100644 --- a/public/homepage.html +++ b/public/homepage.html @@ -44,7 +44,12 @@

Temp Hour Submission Form


- +