- if (! request.session.nickname)
- response.render('choose-nickname.html', { game_name: "Tic Tac Toe" });
- else
- response.render('tictactoe-game.html');
-});
-
-router.post('/move', (request, response) => {
- const game = request.game;
- const square = request.body.square;
-
- const legal = game.add_move(square);
-
- /* Inform this client whether the move was legal. */
- response.send(JSON.stringify(legal));
-
- /* And only if legal, inform all clients. */
- if (! legal)
- return;
-
- game.broadcast_move(square);
-});
-
-router.get('/events', (request, response) => {
- const game = request.game;
-
- /* These headers will keep the connection open so we can stream events. */
- const headers = {
- "Content-type": "text/event-stream",
- "Connection": "keep-alive",
- "Cache-Control": "no-cache"
- };
- response.writeHead(200, headers);
-
- /* Add this new client to our list of clients. */
- const id = game.add_client(response);
-
- /* And queue up cleanup to be triggered on client close. */
- request.on('close', () => {
- game.remove_client(id);
- });
-});