-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
26 lines (20 loc) · 798 Bytes
/
server.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
const http = require('http');
const parseIpAddress = require('./parsers/ipAddress');
const parseLanguage = require('./parsers/language');
const parseUserAgent = require('./parsers/userAgent');
const server = http.createServer((req, res) => {
const headers = req.headers;
const data = {};
data.ipAddress = parseIpAddress(req);
data.language = parseLanguage(headers['accept-language']);
data.operatingSystem = parseUserAgent(headers['user-agent']);
res.setHeader('Content-Type', 'application/json');
if (data.ipAddress && data.language && data.operatingSystem) {
res.statusCode = 200;
} else {
res.statusCode = 400;
res.statusMessage = 'Could not parse one or more header.';
}
res.end(JSON.stringify(data, null, 3));
});
server.listen(process.env.PORT || 5000);