TypeError: Request path contains unescaped characters, how can I fix this

/*Making http request to the api (Git hub)
create request
parse responce
wrap in a function
*/
var https = require("https");

var username = 'lynndor';
//CREATING AN OBJECT
var options = {
    host: 'api.github.com',
    path: ' /users/'+ username +'/repos',
    method: 'GET'
};

var request = https.request(options, function(responce){
    var body = ''
    responce.on("data", function(chunk){
        body += chunk.toString('utf8')
    });
    responce.on("end", function(){
        console.log("Body", body);
    });
});
request.end();

Im trying to create a request to the git hub api, the aim is to get the list repository for the specified you, but i keep getting the above mentioned error, please help


for other situation can be helpful

JavaScript encodeURI() Function

var uri = "my test.asp?name=ståle&car=saab";
var res = encodeURI(uri); 

Your "path" variable contains space

path: ' /users/'+ username +'/repos',

Instead it should be

path: '/users/'+ username +'/repos',


Use encodeURIComponent() to encode uri

and decodeURIComponent() to decode uri

Its because there are reserved characters in your uri. You will need to encode uri using inbuilt javascript function encodeURIComponent()

var options = {
    host: 'api.github.com',
    path: encodeURIComponent('/users/'+ username +'/repos'),
    method: 'GET'
};

to decode encoded uri component you can use decodeURIComponent(url)