| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- const fs = require('fs');
- let http = require('http');
- let { increaseCount, queryData, closeDB } = require('./countdb');
- const routeCounter = '/counter/update';
- const routeView = '/counter/view';
- const routeData = '/counter/data';
- server = http.createServer(function (request, response) {
- let u = request.url;
- let data = [];
- let jdata;
- if (u.toLowerCase() === routeCounter) {
- request.on('data', chunk => {
- data.push(chunk); // 将接收到的数据暂时保存起来
- })
- request.on('end', () => {
- let keys = JSON.parse(data);
- increaseCount(keys);
- // 返回响应
- response.writeHead(200, { 'Content-Type': 'text/plain' });
- response.write('success');
- response.end();
- })
- }
- else if (u.toLowerCase() === routeData) {
- queryData().then(function(dataSet){
- jdata = JSON.stringify(dataSet);
- response.setHeader('Access-Control-Allow-Origin', '*');
- response.writeHead(200, { 'Content-Type': 'text/plain;charset=utf-8' });
- response.write(jdata);
- response.end();
- });
- }
- // 不用框架显示页面好别扭
- else if (u.toLowerCase() === routeView) {
- fs.readFile('../web/index.html', 'utf-8', function(err, hdata) {
- if (err !== null) {
- return console.log(err);
- }
- response.end(hdata);
- })
- }
- else if (u.toLowerCase() === '/counter/index.js') {
- fs.readFile('../web/index.js', 'utf-8', function(err, hdata) {
- if (err !== null) {
- return console.log(err);
- }
- response.end(hdata);
- })
- }
- else {
- response.writeHead(404, { 'Content-Type': 'text/plain' });
- response.write("error");
- response.end();
- }
- });
- server.listen(7777);
- console.log('CodeCounter server is running...');
- server.on('close', function (event) {
- console.log('server closed');
- });
- process.on('exit', function (code) {
- closeDB();
- console.log('退出码为:', code);
- });
- process.on('SIGTERM', () => {
- console.log('SIGTERM signal received.');
- process.exit(3);
- });
- process.on('SIGINT', () => {
- console.log('SIGINT signal received.');
- process.exit(2);
- });
- process.on('SIGQUIT', () => {
- console.log('SIGQUIT signal received.');
- process.exit(5);
- });
|