-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
45 lines (37 loc) · 1.39 KB
/
index.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
var express = require('express');
var request = require('request');
var xmlparser = require('express-xml-bodyparser');
var app = express();
app.use(xmlparser());
app.use(function(req, res, next) {
console.log(req.method + ': new request');
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
res.setHeader('Access-Control-Allow-Headers', 'Content-Type', 'X-Requested-With');
if (req.method === 'OPTIONS') {
console.log('OPTIONS: preflight sent');
res.send();
} else if (req.method === "GET") {
if(req.url == "/AGVyrobceTestuList") {
return new Promise(resolve => {
request({ url: "https://covid-19-diagnostics.jrc.ec.europa.eu/devices/export", method: req.method },
function (error, response, body) {
if (!error) {
resolve(body);
}
}
);
}).then(body => {
console.log('GET: response sent');
res.send(body);
});
}
} else {
console.log(req.method + ': is not GET or OPTION request');
next();
}
});
app.set('port', process.env.PORT || 3000);
app.listen(app.get('port'), function () {
console.log('Proxy server listening on port ' + app.get('port'));
});