This shouldn't even exist if your error flow handling was done as noted above... the only scenario this would be that I can see is an unexpected status code, which would've been much better done as:
```javascript
if (statusCode != 200 && statusCode != 201 && statusCode != 304) return callback(new Error("bad status code " + statusCode));
```
Personally, I'd say you should be doing the statusCode checking by actually using http's range semantics:
```
if (statusCode > 500) throw new Error(util.format('server error %s: %s', statusCode, statusMessage));
if (statusCode > 400) throw new Error(util.format('request error ...'));
// XXX if (statusCode > 300) // really this is a "normal" case?
// XXX if (statusCode < 200) // rare, but it's not "normal"
```