If you try to make a request with the uri set to undefined or something else invalid, nap will still happily pass that on to rhumb, which will throw unhelpful errors. (See websdk/rhumb#13.)
Nap should verify the integrity of incoming requests, and if they are invalid in one way or another, should throw an appropriate error.