Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Node.js TypeError: Parameter 'url' must be a string, not undefined

Im trying to parse some urls using url module and http server.

Code bellow:

var http = require('http');
var URL = require('url');
var port = 8080;

var server = http.createServer(function(req, res) {
    var parsedURL = URL.parse(req.URL, true).pathname;
    switch(parsedURL) {
        case 'test/myurl':
            console.log('Valid URL.');
            break;
        default:
            console.log('404!')
    }
});

server.listen(port);
console.log('Service at port: ' + port);

gives following error:

TypeError: Parameter 'url' must be a string, not undefined

at this line:

var parsedURL = URL.parse(req.URL, true).pathname;

Anyone can help? Any explanation would be appreciated.

like image 991
Jacs Avatar asked Sep 08 '26 06:09

Jacs


1 Answers

The url property name for an http.IncomingMessage object is:

req.url

not

req.URL

thus, req.URL is undefined.

like image 92
jfriend00 Avatar answered Sep 10 '26 20:09

jfriend00