diff --git a/Dockerfile b/Dockerfile index d6d8022..11403bc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM --platform=linux/x86_64 node:16.14.2-slim RUN apt-get update -RUN apt-get install -y locales git procps vim tmux +RUN apt-get install -y locales git procps vim tmux curl RUN locale-gen ja_JP.UTF-8 RUN localedef -f UTF-8 -i ja_JP ja_JP ENV LANG=ja_JP.UTF-8 diff --git a/index.js b/index.js index bb12a3b..e803e8e 100644 --- a/index.js +++ b/index.js @@ -1,23 +1,42 @@ 'use strict'; const http = require('http'); const server = http - .createServer((req, res) => { - console.info( - `[${new Date()}] Requested by ${req.socket.remoteAddress}` - ); - res.writeHead(200, { - 'Content-Type': 'text/plain; charset=utf-8' + .createServer((req, res) => { + // console.info( + // `[${new Date()}] 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' + }); + // res.write(req.headers['user-agent']); + + switch (req.method) { + case 'GET': + res.write(`GET ${req.url}`); + break; + case 'POST': + res.write(`POST ${req.url}`); + let rawData = ''; + req.on('data', (chunk) => { + rawData += chunk; + }).on('end', () => { + console.info(`[${now}] Data posted: ${rawData}`); + }); + break; + default: + break; + } + res.end(); + }) + .on('error', e => { + console.error(`[${new Date()}] Server Error`, e); + }) + .on('clientError', e => { + console.error(`[${new Date()}] Client Error`, e); }); - res.write(req.headers['user-agent']); - res.end(); - }) - .on('error', e => { - console.error(`[${new Date()}] Server Error`, e); - }) - .on('clientError', e => { - console.error(`[${new Date()}] Client Error`, e); - }); const port = 8000; server.listen(port, () => { - console.info(`[${new Date()}] Listening on ${port}`); -}); + console.info(`[${new Date()}] Listening on ${port}`); +}); \ No newline at end of file