commit c864d2e625bceb18fd66a0ac692e5af8ec83638c Author: Maciej Pędzich Date: Wed Jul 24 16:40:40 2024 +0200 Create a "hanger" server diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..26117c3 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM node:lts-alpine +USER node +WORKDIR /app +ENV NODE_ENV production +COPY --chown=node:node index.mjs ./ +EXPOSE 3000 +CMD ["node", "./index.mjs"] diff --git a/index.mjs b/index.mjs new file mode 100644 index 0000000..313a0d4 --- /dev/null +++ b/index.mjs @@ -0,0 +1,23 @@ +import { createServer } from 'node:http'; +import { clearInterval, setInterval } from 'node:timers'; + +const server = createServer((req, res) => { + console.log( + `Caught ${req.headers['x-forwarded-for']} on ${req.method} ${req.url}` + ); + + let msg = ':) you are an idiot hahahahaha :)'; + let charIdx = 0; + let intervalId = setInterval(() => { + if (charIdx === msg.length) { + charIdx = 0; + res.write('\n'); + } else { + res.write(msg[charIdx++]); + } + }, 3000); + + res.once('close', () => clearInterval(intervalId)); +}); + +server.listen(3000);