# node libraries logger = (require 'logging').default 'FFTCG' fastify = (require 'fastify') logger: logger path = (require 'path') # my libraries # FFTCGSOCKET = (require './socket') # FFTCGSESSION = (require './session') # FFTCGROUTER = (require './router') # fastify framework fastify.register (require 'fastify-cookie') fastify.register (require 'fastify-ws'), library: 'uws' fastify.register (require 'fastify-static'), root: path.join __dirname, 'tmpfront' fastify.ready() .then -> fastify.ws.on 'connection', (socket) -> logger.info 'Client connected.' socket.on 'message', (msg) -> # echo server logger.info "Echo '#{msg}'." socket.send "Re: #{msg}" socket.on 'close', -> logger.info 'Client disconnected.' .catch (err) -> logger.error err process.exit 1 fastify.get '/api', (request, reply) -> logger.info request.cookies reply .setCookie 'foo', 'bar' .send hello: 'world' fastify.listen 3001, '0.0.0.0' .catch (err) -> logger.error err # Handle termination process.on 'SIGINT', -> socket.close() logger.info 'shutting down after SIGINT' process.exit()