@@ -76,6 +76,7 @@ public DiscoveryAPIResponse callDiscoveryAPI(Environment environment) throws Con
7676 Response response = client .makeRequest (request );
7777
7878 logger .debug ("Response Code : " + response .getStatusCode ());
79+ logger .debug ("intuit_tid : " + response .getIntuit_tid ());
7980 if (response .getStatusCode () == 200 ) {
8081 ObjectReader reader = mapper .readerFor (DiscoveryAPIResponse .class );
8182 DiscoveryAPIResponse discoveryAPIResponse = reader .readValue (response .getContent ());
@@ -84,14 +85,52 @@ public DiscoveryAPIResponse callDiscoveryAPI(Environment environment) throws Con
8485
8586 } else {
8687 logger .debug ("failed calling discovery document API" );
87- throw new ConnectionException ("failed calling discovery document API" , response .getStatusCode () + "" );
88+ throw new ConnectionException ("Failed calling discovery document API" , response .getStatusCode () + "" , response . getIntuit_tid (), response );
8889 }
8990 } catch (Exception ex ) {
9091 logger .error ("Exception while calling discovery document" , ex );
9192 throw new ConnectionException (ex .getMessage (), ex );
9293 }
9394 }
94-
95+
96+ /**
97+ * Calls the Discovery Document API based on the static URL provided and
98+ * returns an object with URLs for all the endpoints
99+ *
100+ * @param discoveryEndpoint
101+ * @return
102+ * @throws ConnectionException
103+ */
104+ public DiscoveryAPIResponse callDiscoveryAPI (String discoveryEndpoint ) throws ConnectionException {
105+
106+ logger .debug ("Enter DiscoveryAPIClient::callDiscoveryAPI" );
107+
108+ try {
109+
110+ HttpRequestClient client = new HttpRequestClient (proxyConfig );
111+ Request request = new Request .RequestBuilder (MethodType .GET , discoveryEndpoint )
112+ .requiresAuthentication (false )
113+ .build ();
114+ Response response = client .makeRequest (request );
115+
116+ logger .debug ("Response Code : " + response .getStatusCode ());
117+ logger .debug ("intuit_tid : " + response .getIntuit_tid ());
118+ if (response .getStatusCode () == 200 ) {
119+ ObjectReader reader = mapper .readerFor (DiscoveryAPIResponse .class );
120+ DiscoveryAPIResponse discoveryAPIResponse = reader .readValue (response .getContent ());
121+ discoveryAPIResponse .setIntuit_tid (response .getIntuit_tid ());
122+ return discoveryAPIResponse ;
123+
124+ } else {
125+ logger .debug ("failed calling discovery document API" );
126+ throw new ConnectionException ("Failed calling discovery document API" , response .getStatusCode () + "" , response .getIntuit_tid (), response );
127+ }
128+ } catch (Exception ex ) {
129+ logger .error ("Exception while calling discovery document" , ex );
130+ throw new ConnectionException (ex .getMessage (), ex );
131+ }
132+ }
133+
95134 private static String getDiscoveryAPIHost (Environment environment ) {
96135 return PropertiesConfig .getInstance ().getProperty ("DISCOVERY_API_HOST_" + environment .value ());
97136 }
0 commit comments