added hostname/url

This commit is contained in:
Brian Long 2021-01-11 09:51:35 -05:00
parent d33a193a3a
commit 98dbb0eb85
3 changed files with 22 additions and 13 deletions

View File

@ -25,6 +25,7 @@ import com.inteligr8.http.PreemptiveAuthInterceptor;
public class ApiGateway { public class ApiGateway {
private final Logger logger = LoggerFactory.getLogger(ApiGateway.class); private final Logger logger = LoggerFactory.getLogger(ApiGateway.class);
private final String baseUrl = "https://api.github.com";
private ObjectMapper omapper = new ObjectMapper(); private ObjectMapper omapper = new ObjectMapper();
private CredentialsProvider credProvider; private CredentialsProvider credProvider;
@ -32,29 +33,29 @@ public class ApiGateway {
this.credProvider = credProvider; this.credProvider = credProvider;
} }
public <Response extends BaseResponse> Response get(String uri, Map<String, Object> paramMap, Class<Response> responseType) throws IOException { public <Response extends BaseResponse> Response get(String uriPath, Map<String, Object> paramMap, Class<Response> responseType) throws IOException {
return this.execute(HttpGet.METHOD_NAME, uri, paramMap, null, responseType); return this.execute(HttpGet.METHOD_NAME, uriPath, paramMap, null, responseType);
} }
public <Request, Response extends BaseResponse> Response post(String uri, Request requestObject, Class<Response> responseType) throws IOException { public <Request, Response extends BaseResponse> Response post(String uriPath, Request requestObject, Class<Response> responseType) throws IOException {
return this.execute(HttpPost.METHOD_NAME, uri, null, requestObject, responseType); return this.execute(HttpPost.METHOD_NAME, uriPath, null, requestObject, responseType);
} }
public <Request, Response extends BaseResponse> Response put(String uri, Request requestObject, Class<Response> responseType) throws IOException { public <Request, Response extends BaseResponse> Response put(String uriPath, Request requestObject, Class<Response> responseType) throws IOException {
return this.execute(HttpPost.METHOD_NAME, uri, null, requestObject, responseType); return this.execute(HttpPost.METHOD_NAME, uriPath, null, requestObject, responseType);
} }
public <Response extends BaseResponse> Response delete(String uri, Map<String, Object> paramMap, Class<Response> responseType) throws IOException { public <Response extends BaseResponse> Response delete(String uriPath, Map<String, Object> paramMap, Class<Response> responseType) throws IOException {
return this.execute(HttpDelete.METHOD_NAME, uri, paramMap, null, responseType); return this.execute(HttpDelete.METHOD_NAME, uriPath, paramMap, null, responseType);
} }
private <Request, Response extends BaseResponse> Response execute(String method, String uri, Map<String, Object> paramMap, Request requestObject, Class<Response> responseType) throws IOException { private <Request, Response extends BaseResponse> Response execute(String method, String uriPath, Map<String, Object> paramMap, Request requestObject, Class<Response> responseType) throws IOException {
if (this.logger.isTraceEnabled()) if (this.logger.isTraceEnabled())
this.logger.trace("execute('" + method + "', '" + uri + "')"); this.logger.trace("execute('" + method + "', '" + uriPath + "')");
RequestBuilder builder = RequestBuilder RequestBuilder builder = RequestBuilder
.create(method) .create(method)
.setUri(uri); .setUri(this.baseUrl + uriPath);
if (paramMap != null) { if (paramMap != null) {
for (Entry<String, Object> param : paramMap.entrySet()) for (Entry<String, Object> param : paramMap.entrySet())
@ -65,14 +66,14 @@ public class ApiGateway {
if (requestObject != null) { if (requestObject != null) {
String requestJson = this.omapper.writeValueAsString(requestObject); String requestJson = this.omapper.writeValueAsString(requestObject);
if (this.logger.isTraceEnabled()) if (this.logger.isTraceEnabled())
this.logger.trace("execute('" + method + "', '" + uri + "'): " + requestJson); this.logger.trace("execute('" + method + "', '" + uriPath + "'): " + requestJson);
builder.setEntity(new StringEntity(requestJson, ContentType.APPLICATION_JSON)); builder.setEntity(new StringEntity(requestJson, ContentType.APPLICATION_JSON));
} }
HttpUriRequest request = builder.build(); HttpUriRequest request = builder.build();
if (this.logger.isDebugEnabled()) if (this.logger.isDebugEnabled())
this.logger.debug("Prepared request for " + method + " to: " + uri); this.logger.debug("Prepared request for " + method + " to: " + uriPath);
HttpResponse response = HttpClientBuilder HttpResponse response = HttpClientBuilder
.create() .create()

View File

@ -9,6 +9,10 @@ public class CreatePullRequest {
private CreatePullRequest() { private CreatePullRequest() {
} }
public static String constructRequestPath(String repoName) {
return "/repos/" + repoName + "/" + httpPath;
}
public static String httpPath = "pulls"; public static String httpPath = "pulls";
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)

View File

@ -9,6 +9,10 @@ public class CreateReference {
private CreateReference() { private CreateReference() {
} }
public static String constructRequestPath(String repoName) {
return "/repos/" + repoName + "/" + httpPath;
}
public static String httpPath = "git/refs"; public static String httpPath = "git/refs";
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)