sheetaki/api/data/index.js

24 lines
777 B
JavaScript
Raw Normal View History

2020-08-03 01:06:11 +00:00
const URL = require('url');
2020-08-09 05:04:31 +00:00
const do_wb = require('../../src/util');
2020-08-03 01:06:11 +00:00
const request = require('request');
2020-08-09 05:04:31 +00:00
module.exports = function(req, res) {
res.setHeader('Access-Control-Allow-Origin', '*');
const url = URL.parse(req.url, true);
/* request url and process */
if(!url.query.url) return res.status(400).send("Must specify url");
2020-08-03 01:06:11 +00:00
request(url.query.url, {encoding:null}, function(err, response, body) {
2020-08-09 05:04:31 +00:00
if(err) return res.status(502).send(err.toString());
/* response.statusCode is expected to be 200 */
2020-08-03 01:06:11 +00:00
switch(response.statusCode) {
case 200: break;
case 404: return res.status(404).send(`Cannot find ${url.query.url}`);
default: return res.status(500).send(`Unrecognized status code ${response.statusCode}`);
}
2020-08-09 05:04:31 +00:00
do_wb(req, body, url, res);
});
2020-08-03 01:06:11 +00:00
};