http-request mit node.js scheitern Kann\'t set Kopfzeilen, nachdem Sie gesendet werden

Ich versuche, auf Anfrage einen server mit https/http, und zeigt das Ergebnis in eine web-Seite.
Es ist Arbeit als Skript auf einem server, aber nicht das mit ich das Ergebnis mit einer get-Anfrage.

var express = require('express');
var app = express();
var port = 1337;
var https = require('https');

app.get('/', function(req, response, next) {
    doRequest(function(resp){
        response.send("response" + resp); //FAIL ON REQUEST !
    });
});
function doRequest(callback){

    var post_data"query=test";
    var post_options = {
        host: 'mySite.com',
        path: '/path/to/source',
        method: 'POST',
        secureProtocol: 'SSLv3_method'
    };

    //Set up the request
    var post_req = https.request(post_options, function(res) {
        res.setEncoding('utf8');
        res.on('data', function (chunk) {
            callback(chunk);
        });
    });

    //post the data
    post_req.write(post_data);
    post_req.end();
}

 doRequest(console.log); //WORKS !

Bekomme ich diesen Fehler:

http.js:707
    throw new Error('Can\'t set headers after they are sent.');
          ^
Error: Can't set headers after they are sent.
    at ServerResponse.OutgoingMessage.setHeader (http.js:707:11)
    at ServerResponse.res.set.res.header (/node_modules/express/lib/response.js:564:10)
    at ServerResponse.res.contentType.res.type (/node_modules/express/lib/response.js:434:15)
    at ServerResponse.res.send (/node_modules/express/lib/response.js:114:43)

Verwende ich Express 4 mit dem Knoten v0.10.15.

InformationsquelleAutor Thomas | 2014-05-28
Schreibe einen Kommentar