From 44510c30c2141c98bcb437fa9a8bc6d784bda75d Mon Sep 17 00:00:00 2001 From: ShokiYokota Date: Wed, 25 Oct 2023 12:37:55 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=E5=90=8D=E5=89=8D=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.js | 58 ++++++++++++++++++++++++++++++++------------------------ 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/index.js b/index.js index bfd5ba5..f431eab 100644 --- a/index.js +++ b/index.js @@ -1,40 +1,48 @@ -'use strict'; -const http = require('node:http'); +'use strict' +const http = require('node:http') +const fs = require('node:fs') const server = http .createServer((req, res) => { - const now = new Date(); - console.info(`[${now}] Requested by ${req.socket.remoteAddress}`); + const now = new Date() + console.info(`[${now}] Requested by ${req.socket.remoteAddress}`) res.writeHead(200, { - 'Content-Type': 'text/plain; charset=utf-8' - }); + 'Content-Type': 'text/html; charset=utf-8', + }) switch (req.method) { case 'GET': - res.write(`GET ${req.url}`); - break; + const rs = fs.createReadStream('./form.html') + rs.pipe(res) + break case 'POST': - res.write(`POST ${req.url}`); - let rawData = ''; + let rawData = '' req - .on('data', chunk => { - rawData += chunk; + .on('data', (chunk) => { + rawData += chunk }) .on('end', () => { - console.info(`[${now}] Data posted: ${rawData}`); - }); - break; + const answer = new URLSearchParams(rawData) + const body = `${answer.get('name')}さんは${answer.get( + 'yaki-tofu' + )}に投票しました` + console.info(`[${now}] ${body}`) + res.write( + `

${body}

` + ) + res.end() + }) + break default: - break; + break } - res.end(); }) - .on('error', e => { - console.error(`[${new Date()}] Server Error`, e); + .on('error', (e) => { + console.error(`[${new Date()}] Server Error`, e) + }) + .on('clientError', (e) => { + console.error(`[${new Date()}] Client Error`, e) }) - .on('clientError', e => { - console.error(`[${new Date()}] Client Error`, e); - }); -const port = 8000; +const port = 8000 server.listen(port, () => { - console.info(`[${new Date()}] Listening on ${port}`); -}); + console.info(`[${new Date()}] Listening on ${port}`) +}) From 0e7d3ecd62e1570c4955489e16848861fe0c0b5a Mon Sep 17 00:00:00 2001 From: ShokiYokota Date: Thu, 26 Oct 2023 12:59:09 +0900 Subject: [PATCH 2/2] =?UTF-8?q?form=E3=81=AE=E3=82=B3=E3=83=9F=E3=83=83?= =?UTF-8?q?=E3=83=88=E6=BC=8F=E3=82=8C=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- form.html | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 form.html diff --git a/form.html b/form.html new file mode 100644 index 0000000..651883d --- /dev/null +++ b/form.html @@ -0,0 +1,16 @@ + + + + + アンケート + + +

どちらが食べたいですか?

+
+ 名前: + 焼き肉 + 湯豆腐 + +
+ +