node.js - Jak przekierować przychodzące żądania URL przez dodanie dodatkowych parametrów

To jest bardziej koncepcyjne pytanie - więc proszę, odejdź ze mną.

Problem: Otrzymuję przychodzące żądanie HTTP do mojej aplikacji serwera. Żądanie jest następujące:http://xyz.com?id=abc. Muszę przeanalizować to żądanie, załatać dodatkowe parametry adresu URL i wywołać hostowany plik HTML. Więc:

http://xyz.com?id=abc =>http://xyz.com:8080/temp.html?id=abc&name=cdf.

Więc klient powinien zobaczyć temp.html

Oto kod:

function onRequest(request,response) {
if(request.method =='GET') {
        sys.debug("in get");
        var pathName = url.parse(request.url).pathname;
        sys.debug("Get PathName" + pathName + ":" + request.url);
        var myidArr = request.url.split("=");
        var myid = myidArr[1];
        //Call the redirect function
        redirectUrl(myid);
}
http.createServer(onRequest).listen(8888);

function redirectUrl(myid) {
var temp='';
    var options = {
      host: 'localhost',
      port: 8080,
      path: '/temp.html?id=' + myid + '&name=cdf',
      method: 'GET'
    };
  var req = http.request(options, function(res) {
    console.log('STATUS: ' + res.statusCode);
    console.log('HEADERS: ' + JSON.stringify(res.headers));
    res.setEncoding('utf8');
    res.on('data', function (chunk) {
      temp = temp.concat(chunk);
    });
    res.on('end', function(){
        return temp;
      });
    });
  req.end();
  return temp;
}

Mimo że jest to naprawdę głupi sposób na rozwiązanie tego problemu, widzę odpowiedź w wywołaniu zwrotnym res.end (). Jak propagować to do nadrzędnej funkcji wywołującej onRequest?

Czy istnieje prostszy sposób na zrobienie tego za pomocą węzła? Wiem, że istnieją sposoby na obsługę statycznych plików HTML. Muszę jednak przekazać parametry URL do temp.html - więc nie jestem pewien, jak to zrobić.

Każda pomoc zostanie bardzo doceniona.

questionAnswers(3)

yourAnswerToTheQuestion