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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
var express = require('express'); var http = require('http');
var router = express.Router(); var _fn; var apiHost = '此处填写第三方 api 的域名' (例如: www.google.com)
router.get('/', function(req, res, next){ var path = req.originalUrl; _fn.getData(path, function(data){ res.send(data); }); });
router.post('/', function(req, res, next){ var path = req.originalUrl; var content = req.body; _fn.postData(path, content, function(data){ res.send(data); }); });
_fn = { getData: function(path, callback){ http.get({ hostname: apiHost, path: path }, function(res){ var body = []; res.on('data', function(chunk){ body.push(chunk); }); res.on('end', function(){ body = Buffer.concat(body); callback(body.toString()); }); }); }, postData: function(path, data, callback){ data = data || {}; content = JSON.stringify(data); var options = { host: apiHost, port: 80, path: path, method: 'POST', headers:{ 'Content-Type': 'multipart/form-data', 'Content-Length': content.length } }; http.request(options, function(res){ var _data = ''; res.on('data', function(chunk){ _data += chunk; }); res.on('end', function(){ callback(_data); }); }); req.write(content); req.end() } };
module.exports = route;
|