Newer
Older
var router = require('express').Router();
const requestProcessor = require('../helpers/request-processor.helper.js').requestProcessor;
const printError = require('../helpers/logs.helpers.js').printError;
router.get('/wms/:repo*', async (req, res) => {
const layer = req.query.layers || req.query.LAYERS;
try {
return await requestProcessor(req, res, layer, 'wms');
} catch (err) {
printError(`/wms/${req.params.repo}?layers=${layer}`, err);
res.status(err.status).send(err);
return;
}
});
router.get('/wfs/:repo*', async (req, res) => {
const layer = req.query.typename || req.query.TYPENAME;
try {
return await requestProcessor(req, res, layer, 'wfs');
} catch (err) {
printError(`/wfs/${req.params.repo}?typename=${layer}`, err);
res.status(err.status).send(err);
return;
}
});
router.get('/ws/:repo/:layer*', async (req, res) => {
let layer = req.params.layer;
if(layer.includes('.shp')) {
layer = layer.split('.shp')[0];
}
try {
return await requestProcessor(req, res, layer, 'ws');
} catch (err) {
printError(`/ws/${req.params.repo}/${layer}`, err);
res.status(err.status).send(err);
return;
}
});
router.get('/kml/:repo*', async (req, res) => {
const layer = req.query.typename || req.query.TYPENAME;
try {
return await requestProcessor(req, res, layer, 'kml');
} catch (err) {
printError(`/kml/${req.params.repo}?typename=${layer}`, err);
res.status(err.status).send(err);
return;
}
});
router.get('/wcs/:repo*', async (req, res) => {
const layer = req.query.identifiers || req.query.IDENTIFIERS || req.query.COVERAGE;
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
try {
return await requestProcessor(req, res, layer, 'wcs');
} catch (err) {
printError(`/wcs/${req.params.repo}?identifiers=${layer}`, err);
res.status(err.status).send(err);
return;
}
});
router.get('/files/:repo/:layer*', async (req, res) => {
const layer = req.params.layer;
try {
return await requestProcessor(req, res, layer, 'files', req.path);
} catch (err) {
printError(`/files/${req.params.repo}/${layer}`, err);
res.status(err.status).send(err);
return;
}
});
router.get('/catalogue*', async (req, res) => {
try {
req.app.locals.proxies.unauthenticated.web(req, res, {});
} catch (err) {
printError(`/catalogue`, err);
res.status(err.status).send(err);
return;
}
});
router.get('/actes*', async (req, res) => {
try {
req.app.locals.proxies.unauthenticated.web(req, res, {});
} catch (err) {
printError(`/actes`, err);
res.status(err.status).send(err);
return;
}
});