getUrl: return more consistent types

User should be sure about datatype provided to getUrl. It's always a good idea to validate user input before the data are being used.

This way it's more consistent - returning null on empty string AND on " " too just makes more sense at least from user interaction point.

It's also less error prone, since api user doesn't need to care about one more return type and it's associated semantics.