19

I have a weird error:

var http = require("http");
var request = require("request");

http.createServer(function(request, response) {
    response.writeHead(200, {"Content-Type": "text/plain"});

    request('http://www.google.com', function (error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(body) // Print the google web page.
        }
    });
    response.end();
}).listen(8888);

The idea is for it to listen as a webserver, and then do a request. But this is what I get as error:

    request('http://www.google.com', function (error, response, body) {
    ^
TypeError: object is not a function
    at Server.<anonymous> (/Users/oplgkim/Desktop/iformtest/j.js:8:2)
    at Server.EventEmitter.emit (events.js:98:17)
    at HTTPParser.parser.onIncoming (http.js:2056:12)
    at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:120:23)
    at Socket.socket.ondata (http.js:1946:22)
    at TCP.onread (net.js:525:27)

What am I doing wrong? I installed request, so that's not it :)

2
  • 6
    Access to the request global variable is lost as you have a local variable with the same name. Commented Mar 23, 2014 at 17:01
  • That hit the spot, why dont you post that as an answer so i can give you points... Commented Mar 23, 2014 at 18:44

2 Answers 2

31

Access to the request global variable is lost as you have a local variable with the same name. Renaming either one of the variables will solve this issue:

var http = require("http"); var request = require("request");

http.createServer(function(req, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
    request('http://www.google.com', function (error, response, body) {
      if (!error && response.statusCode == 200) {
        console.log(body) // Print the google web page.
      }
    })
  response.end();
}).listen(8888);
Sign up to request clarification or add additional context in comments.

Comments

0

You are no longer able to access the global variable 'request'. You need to rename your local variable 'request' with some other name and the problem will be resolved.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.