What is actually returned when there are no hosts available? Is it really just bad json, or a simple string? We can, and should explicitly differentiate for that case and try to gracefully handle it.