summaryrefslogtreecommitdiff
path: root/app.js
diff options
context:
space:
mode:
authorMhykol <mchaeldonald62@pm.me>2024-06-24 08:10:46 -0400
committerMhykol <mchaeldonald62@pm.me>2024-06-24 08:10:46 -0400
commit0e149ff3ce6f07bdb0252791b16da06f0bc779e5 (patch)
tree945cdd305599545612f5918beb85690693c28fd7 /app.js
parent1c32f5626abe1c55712ccd6a3c9110a81050889f (diff)
Added optional post request to a specific route
Diffstat (limited to 'app.js')
-rw-r--r--app.js54
1 files changed, 33 insertions, 21 deletions
diff --git a/app.js b/app.js
index c18ecec..b0cb7a0 100644
--- a/app.js
+++ b/app.js
@@ -7,6 +7,8 @@ const cookieParser = require('cookie-parser')
const createDOMPurify = require('dompurify')
const { JSDOM } = require('jsdom')
const Controller = require('./source/controller')
+const newsletter = require('./source/newsletter')()
+// ! Finish newsletter
const readfile = require('./source/readfile')
const session = require('./source/session')
const logger = require('./source/logger')()
@@ -114,36 +116,46 @@ class App {
if (output.has(this.path.string)) {
try {
output.get(this.path.string).then(output => {
- const object = {
- js: output.assets.js,
- css: output.assets.css
- }
-
- this.readfile.Create(output.html).then(output => {
+ if (output.hasOwnProperty('post') ? output.post : false) {
const DOMPurify = createDOMPurify(new JSDOM('').window)
- const clean = DOMPurify.sanitize(output.layouts.header + output.layouts.data + output.layouts.footer, {
- ADD_TAGS: ['iframe'], ADD_ATTR: ['allow', 'allowfullscreen', 'frameborder', 'scrolling']
+ const clean = DOMPurify.sanitize(output.html)
+ res.send(JSON.stringify({post: output.post, html: clean, css: output.css, js: output.js}))
+ } else {
+ const object = {
+ js: output.assets.js,
+ css: output.assets.css
+ }
+ this.readfile.Create(output.html).then(output => {
+ const DOMPurify = createDOMPurify(new JSDOM('').window)
+ const clean = DOMPurify.sanitize(output.layouts.header + output.layouts.data + output.layouts.footer, {
+ ADD_TAGS: ['iframe'], ADD_ATTR: ['allow', 'allowfullscreen', 'frameborder', 'scrolling']
+ })
+ res.send(JSON.stringify({html: clean, css: object.css, js: object.js}))
})
- res.send(JSON.stringify({title: object.title, html: clean, css: object.css, js: object.js}))
- })
+ }
})
} catch {
const object = {}
- try {
- object.js = output.assets.js
- object.css = output.assets.css
- } catch (err) {
- object.js = []
- object.css = []
+
+ if (output.get(this.path.string).hasOwnProperty('assets')) {
+ this.assets = output.get(this.path.string).assets
+ object['js'] = this.assets.hasOwnProperty('js') ? this.assets.js : []
+ object['css'] = this.assets.hasOwnProperty('css') ? this.assets.css : []
}
- this.readfile.Create(output.get(this.path.string).html).then(output => {
+ if (output.hasOwnProperty('post') ? output.post : false) {
const DOMPurify = createDOMPurify(new JSDOM('').window)
- const clean = DOMPurify.sanitize(output.layouts.header + output.layouts.data + output.layouts.footer, {
- ADD_TAGS: ['iframe'], ADD_ATTR: ['allow', 'allowfullscreen', 'frameborder', 'scrolling']
+ const clean = DOMPurify.sanitize(output.html)
+ res.send(JSON.stringify({post: output.post, html: clean, css: output.css, js: output.js}))
+ } else {
+ this.readfile.Create(output.get(this.path.string).html).then(output => {
+ const DOMPurify = createDOMPurify(new JSDOM('').window)
+ const clean = DOMPurify.sanitize(output.layouts.header + output.layouts.data + output.layouts.footer, {
+ ADD_TAGS: ['iframe'], ADD_ATTR: ['allow', 'allowfullscreen', 'frameborder', 'scrolling']
+ })
+ res.send(JSON.stringify({html: clean, css: object.css, js: object.js}))
})
- res.send(JSON.stringify({html: clean, css: object.css, js: object.js}))
- })
+ }
}
} else {
res.send('Not Found')