将值从http.request或superagent传递给http.createServer NodeJs

时间:2017-09-19 18:29:27

标签: node.js request node-modules async.js superagent

我不确定问题是什么,但我认为我必须使这个异步或承诺(idk如何)。我只想将回调传递给res.end上的http服务器。 有人可以帮忙吗?

HTTP Request或SuperAgent将值传递给下面的函数。如何将此发送到http.createserver?

function receiveCallback(link) {  
    console.log(link);
    //this works fine, echos the LINK we want to 302 to
}

如何将链接传递给http服务器?

http.createServer(function (req, res) {
  res.writeHead(302, {'Location': link});
  res.end();
}).listen('8080');

实施例即可。用户打开domain.com/test?somevar

somevar 会发送给superagent,然后生成链接

如何将用户302加入链接

1 个答案:

答案 0 :(得分:1)

如果您的superagent每次服务器收到请求时都会发出自己的请求,那么它看起来像这样:

const http = require('http');
const url = require('url');
const request = require('superagent');

http.createServer((req, res) => {

    const queryParams = url.parse(req.url, true).query;

    request
        .get('/get/my/link')
        .send({ somevar: queryParams.somevar })
        .end((err, response) => {

            if (err)
                throw err;

            const link = response.body.link;

            res.writeHead(302, { 'Location': link });
            res.end();
        });

}).listen('8080');