Skip to content

Commit cce3e9a

Browse files
Set additional fields on non-200 response
1 parent e34cbb5 commit cce3e9a

File tree

9 files changed

+251
-105
lines changed

9 files changed

+251
-105
lines changed

oauth2-platform-api/src/main/java/com/intuit/oauth2/client/DiscoveryAPIClient.java

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)