-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
130 lines (120 loc) · 3.81 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
(function() {
"use strict";
const http = require('http'),
fs = require('fs'),
path = require('path'),
env = process.env,
contentTypes = {
'html': 'text/html',
'css': 'text/css',
'tag': 'text/html',
'ico': 'image/x-icon',
'png': 'image/png',
'svg': 'image/svg+xml'
};
var express = require('express');
var router = express.Router();
var routes = require('./server/routes.js');
var favicon = require('serve-favicon');
var logger = require('morgan');
var compression = require('compression');
let app = express();
//openshift health app test
app.get('/health', function(req, res) {
res.writeHead(200);
res.end();
});
app.use(compression({
threshold: 0,
filter: function () { return true; },
level: -1
}));
app.use('/', routes);
app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(express.static(path.join(__dirname, 'public')));
var ipaddress = env.NODE_IP || '192.168.2.1';
var port = env.NODE_PORT || 3000;
app.listen(port, ipaddress, function() {
console.log(`Application worker ${process.pid} started...`);
});
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
// error handlers
app.use(function(req, res, next) {
var err = new Error('Not Found');
res.render('404');
err.status = 404;
next(err);
});
// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
// var WebSocket = require('ws'),
// WebSocketServer = WebSocket.Server,
// wss = new WebSocketServer({host:ipaddress, port:8000}),
// clients = [];
//
//
// wss.on('connection', function(ws) {
// var client_uuid = uuidV4();
// clients.push({"id": client_uuid, "ws": ws});
// console.log(clients.length);
// console.log('client [%s] connected', client_uuid);
//
// ws.on('close', function() {
// for(var i=0; i<clients.length; i++) {
// if(clients[i].id == client_uuid) {
// console.log('client [%s] disconnected', client_uuid);
// clients.splice(i, 1);
// }
// }
// });
// ws.on('message', function(message) {
// console.log(message);
// clients.forEach(function(client){
// var clientSocket = client.ws;
// console.log('client [%s]: %s', client.id, message);
// if (clientSocket.readyState === WebSocket.OPEN) clientSocket.send(message)})
// });
// });
/*var addresses = fs.readFileSync('59_1_merged2.csv','utf-8').replace(/,/g, '').split('\n').slice(0,-1)//.map(e=>{return e.split(';')});
var MultiGeocoder = require('multi-geocoder'),
// Получаем доступ к сервису геокодирования.
geocoder = new MultiGeocoder({
coordorder: 'latlong',
lang: 'ru-RU'
});
/*var provider = geocoder.getProvider();
provider.getText = function (point) {
return point[0];
};*/
//console.log(addresses);
/*geocoder.geocode(addresses)
.then(function (res) {
console.log(JSON.stringify(res.errors));
var coords = [];
var results = res.result.features;
res.result.features.forEach(e=>{coords.push(e.properties.metaDataProperty
.GeocoderMetaData.AddressDetails.Country.AddressLine + ';' + e.geometry.coordinates.join())});
fs.writeFileSync('coords.csv', coords.join('\n'))
});*/
})();