diclient/users: split out common HTTP request logic, add GetUser