What `nodefn` is expecting is that the callback it attaches to takes an error as the first parameter. But `http.get`'s first parameter is the HTTP response object, thus it always treats every response as an error condition. Long story short, `nodeFn` does not apply to node.js functions that return streams and we thus we shouldn't be using when's `nodefn` here.

From the node.js [docs](http://nodejs.org/api/http.html#http_http_get_options_callback):

<blockquote>
http.request() returns an instance of the http.ClientRequest class. The ClientRequest instance is a writable stream. If one needs to upload a file with a POST request, then write to the ClientRequest object.
</blockquote>