I can't reach the 10.105 subnet, but that's fine because I just want to use the public endpoints. But I get a timeout from the factory as it tries to contact the internalURL.
Looking more closely, the timeout is happening within the getVersionedURL call from within the factory, because the code is trying to make a GET request against the URL (even though I don't want to call it). This doesn't seem right to me - it implies that any API consumer should have a network route to all possible URLs. The decision as to whether to call getVersionedURL appears to be driven by the existence of a configured URL in the service catalog, rather than by the URL that the consumer wants to call.
Is there a good reason why the Endpoint class factory should assume all URLs in the service catalog are reachable by all API consumers?
I'm trying to connect to the networking service, whose service catalog entry looks like this:
My code looks like this:
I can't reach the 10.105 subnet, but that's fine because I just want to use the public endpoints. But I get a timeout from the factory as it tries to contact the internalURL. Looking more closely, the timeout is happening within the
getVersionedURL
call from within the factory, because the code is trying to make a GET request against the URL (even though I don't want to call it). This doesn't seem right to me - it implies that any API consumer should have a network route to all possible URLs. The decision as to whether to callgetVersionedURL
appears to be driven by the existence of a configured URL in the service catalog, rather than by the URL that the consumer wants to call.Is there a good reason why the Endpoint class factory should assume all URLs in the service catalog are reachable by all API consumers?