mirror of
https://github.com/netbymatt/ws4kp.git
synced 2026-04-18 09:39:30 -07:00
start of radar images
This commit is contained in:
@@ -10,8 +10,6 @@ const queryString = require('querystring');
|
||||
|
||||
// return an express router
|
||||
module.exports = (req, res) => {
|
||||
if (!req.query.u) res.status(404);
|
||||
|
||||
// add out-going headers
|
||||
const headers = {};
|
||||
headers['user-agent'] = '(WeatherStar 4000+, ws4000@netbymatt.com)';
|
||||
|
||||
44
cors/radar.js
Normal file
44
cors/radar.js
Normal file
@@ -0,0 +1,44 @@
|
||||
// pass through api requests
|
||||
|
||||
// http(s) modules
|
||||
const https = require('https');
|
||||
|
||||
// url parsing
|
||||
const queryString = require('querystring');
|
||||
|
||||
// return an express router
|
||||
module.exports = (req, res) => {
|
||||
// add out-going headers
|
||||
const headers = {};
|
||||
headers['user-agent'] = '(WeatherStar 4000+, ws4000@netbymatt.com)';
|
||||
headers['accept'] = req.headers.accept;
|
||||
|
||||
// get query paramaters if the exist
|
||||
const queryParams = Object.keys(req.query).reduce((acc, key) => {
|
||||
// skip the paramater 'u'
|
||||
if (key === 'u') return acc;
|
||||
// add the paramter to the resulting object
|
||||
acc[key] = req.query[key];
|
||||
return acc;
|
||||
},{});
|
||||
let query = queryString.encode(queryParams);
|
||||
if (query.length > 0) query = '?' + query;
|
||||
|
||||
// get the page
|
||||
https.get('https://radar.weather.gov' + req.path + query, {
|
||||
headers,
|
||||
}, getRes => {
|
||||
// pull some info
|
||||
const {statusCode} = getRes;
|
||||
// pass the status code through
|
||||
res.status(statusCode);
|
||||
|
||||
// set headers
|
||||
res.header('content-type', getRes.headers['content-type']);
|
||||
// pipe to response
|
||||
getRes.pipe(res);
|
||||
|
||||
}).on('error', e=>{
|
||||
console.error(e);
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user