You should `return callback(error)` here. If an error happens, body is going to be blank – as far as I know, `request` only throws errors when there is an error that prevents the HTTP request from firing (such as a DNS lookup error).

Also note the use of `return` so we don't have to wrap the rest of the function body in an `else` statement.