Skip to content

Commit

Permalink
Merge pull request #265 from nnn-training/dorimiamn-patch
Browse files Browse the repository at this point in the history
教材メンテナンス
  • Loading branch information
moesuke authored Apr 10, 2024
2 parents 450ee4d + 42a0fcf commit 02b8d4c
Showing 1 changed file with 73 additions and 67 deletions.
140 changes: 73 additions & 67 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,77 +6,83 @@ const basic = auth.basic(
{ realm: 'Enquetes Area.' },
(username, password, callback) => {
callback(username === 'guest' && password === 'xaXZJQmE');
});
const server = http.createServer(basic.check((req, res) => {
console.info(`Requested by ${req.socket.remoteAddress}`);

if (req.url === '/logout') {
res.writeHead(401, {
'Content-Type': 'text/plain; charset=utf-8'
});
res.end('ログアウトしました');
return;
}
);
const server = http
.createServer(basic.check((req, res) => {
console.info(`Requested by ${req.socket.remoteAddress}`);

res.writeHead(200, {
'Content-Type': 'text/html; charset=utf-8'
});
if (req.url === '/logout') {
res.writeHead(401, {
'Content-Type': 'text/plain; charset=utf-8'
});
res.end('ログアウトしました');
return;
}

switch (req.method) {
case 'GET':
if (req.url === '/') {
res.write('<!DOCTYPE html><html lang="ja"><body>' +
'<h1>アンケートフォーム</h1>' +
'<a href="/enquetes">アンケート一覧</a>' +
'</body></html>');
} else if (req.url === '/enquetes') {
res.write('<!DOCTYPE html><html lang="ja"><body>' +
'<h1>アンケート一覧</h1><ul>' +
'<li><a href="/enquetes/yaki-tofu">焼き肉・湯豆腐</a></li>' +
'<li><a href="/enquetes/rice-bread">ごはん・パン</a></li>' +
'<li><a href="/enquetes/sushi-pizza">寿司・ピザ</a></li>' +
'</ul></body></html>');
} else if (req.url === '/enquetes/yaki-tofu') {
res.write(
pug.renderFile('./form.pug', {
path: req.url,
firstItem: '焼き肉',
secondItem: '湯豆腐'
})
);
} else if (req.url === '/enquetes/rice-bread') {
res.write(
pug.renderFile('./form.pug', {
path: req.url,
firstItem: 'ごはん',
secondItem: 'パン'
res.writeHead(200, {
'Content-Type': 'text/html; charset=utf-8'
});

switch (req.method) {
case 'GET':
if (req.url === '/') {
res.write('<!DOCTYPE html><html lang="ja"><body>' +
'<h1>アンケートフォーム</h1>' +
'<a href="/enquetes">アンケート一覧</a>' +
'</body></html>');
} else if (req.url === '/enquetes') {
res.write('<!DOCTYPE html><html lang="ja"><body>' +
'<h1>アンケート一覧</h1><ul>' +
'<li><a href="/enquetes/yaki-tofu">焼き肉・湯豆腐</a></li>' +
'<li><a href="/enquetes/rice-bread">ごはん・パン</a></li>' +
'<li><a href="/enquetes/sushi-pizza">寿司・ピザ</a></li>' +
'</ul></body></html>');
} else if (req.url === '/enquetes/yaki-tofu') {
res.write(
pug.renderFile('./form.pug', {
path: req.url,
firstItem: '焼き肉',
secondItem: '湯豆腐'
})
);
} else if (req.url === '/enquetes/rice-bread') {
res.write(
pug.renderFile('./form.pug', {
path: req.url,
firstItem: 'ごはん',
secondItem: 'パン'
})
);
} else if (req.url === '/enquetes/sushi-pizza') {
res.write(
pug.renderFile('./form.pug', {
path: req.url,
firstItem: '寿司',
secondItem: 'ピザ'
})
);
}
res.end();
break;
case 'POST':
let rawData = '';
req
.on('data', chunk => {
rawData += chunk;
})
);
} else if (req.url === '/enquetes/sushi-pizza') {
res.write(pug.renderFile('./form.pug', {
path: req.url,
firstItem: '寿司',
secondItem: 'ピザ'
}));
}
res.end();
break;
case 'POST':
let rawData = '';
req
.on('data', chunk => {
rawData += chunk;
})
.on('end', () => {
const answer = new URLSearchParams(rawData);
const body = `${answer.get('name')}さんは${answer.get('favorite')}に投票しました`;
console.info(body);
res.write(`<!DOCTYPE html><html lang="ja"><body><h1>${body}</h1></body></html>`);
res.end();
});
break;
default:
break;
.on('end', () => {
const answer = new URLSearchParams(rawData);
const body = `${answer.get('name')}さんは${answer.get('favorite')}に投票しました`;
console.info(body);
res.write(
`<!DOCTYPE html><html lang="ja"><body><h1>${body}</h1></body></html>`
);
res.end();
});
break;
default:
break;
}
}))
.on('error', e => {
Expand Down

0 comments on commit 02b8d4c

Please # to comment.