Wizcorp / node-pivotal

NodeJS API library for PivotalTracker
44 stars 20 forks source link

xml2js failing on line 216 #4

Closed robdodson closed 12 years ago

robdodson commented 12 years ago

after I've set my token when the user hits the following route:

app.get('/projects', function(req, res) {
  var projects = pivotal.getProjects();
  res.send(projects);
});
/Users/Rob/Developer/Node/pivotal/node_modules/pivotal/node_modules/xml2js/lib/xml2js.js:216
          throw ex;
                ^
TypeError: undefined is not a function
    at /Users/Rob/Developer/Node/pivotal/node_modules/pivotal/index.js:648:17
    at Parser.<anonymous> (/Users/Rob/Developer/Node/pivotal/node_modules/pivotal/node_modules/xml2js/lib/xml2js.js:201:18)
    at Parser.emit (events.js:67:17)
    at Object.onclosetag (/Users/Rob/Developer/Node/pivotal/node_modules/pivotal/node_modules/xml2js/lib/xml2js.js:183:24)
    at emit (/Users/Rob/Developer/Node/pivotal/node_modules/pivotal/node_modules/xml2js/node_modules/sax/lib/sax.js:322:32)
    at emitNode (/Users/Rob/Developer/Node/pivotal/node_modules/pivotal/node_modules/xml2js/node_modules/sax/lib/sax.js:327:3)
    at closeTag (/Users/Rob/Developer/Node/pivotal/node_modules/pivotal/node_modules/xml2js/node_modules/sax/lib/sax.js:540:5)
    at Object.write (/Users/Rob/Developer/Node/pivotal/node_modules/pivotal/node_modules/xml2js/node_modules/sax/lib/sax.js:949:29)
    at Parser.<anonymous> (/Users/Rob/Developer/Node/pivotal/node_modules/pivotal/node_modules/xml2js/lib/xml2js.js:213:31)
    at Parser.parseString (/Users/Rob/Developer/Node/pivotal/node_modules/pivotal/node_modules/xml2js/lib/xml2js.js:6:61)

I added some console logs to xml2js and I can see that the correct xml is coming back from pivotal but it fails somewhere in that method.

robdodson commented 12 years ago

anyone?

rehanift commented 12 years ago

The pivotal.getProject() call is asynchronous and requires a callback.

Try something like:

app.get('/projects', function(req, res) {
  pivotal.getProjects(function(err, projects){
    res.send(projects);
  });
});
robdodson commented 12 years ago

ah yep that did it! so sorry, total newbie mistake. I'm about 2 days into Node. Thanks for putting together this module :)