Use httphelper and cache response even when it is empty


Fixes #12164
please create a mock and inject that - this is the overall reason to have mock objects