const express = require(
'express'
)
const path = require(
'path'
)
const app = express()
const PORT = process.env.PORT || 3000
const parseData = (req, res, next) => {
if
(req.method ===
'POST'
) {
const formData = {}
req.on(
'data'
, data => {
const parsedData =
decodeURIComponent(data).split(
'&'
)
for
(let data of parsedData) {
decodedData = decodeURIComponent(
data.replace(/\+/g,
'%20'
))
const [key, value] =
decodedData.split(
'='
)
formData[key] = value
}
req.body = formData
next()
})
}
else
{
next()
}
}
app.set(
"views"
, path.join(__dirname))
app.set(
"view engine"
,
"ejs"
)
app.get(
'/'
, (req, res) => {
res.render(
'loginForm'
)
})
app.post(
'/information'
, parseData, (req, res) => {
const data = req.body
const { username, password } = data
res.send(`
<p><strong>Login Information collected!</strong></p>
<div>
<strong>Username</strong> : ${username}
</div>
<div>
<strong>Password</strong> : ${password}
</div>
`)
})
app.listen(PORT, () => {
console.log(`Server start on port ${PORT}`)
})