Commit 98dbb0eb authored by Brian Long's avatar Brian Long
Browse files

added hostname/url

parent d33a193a
Loading
Loading
Loading
Loading
+14 −13
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import com.inteligr8.http.PreemptiveAuthInterceptor;
public class ApiGateway {

	private final Logger logger = LoggerFactory.getLogger(ApiGateway.class);
	private final String baseUrl = "https://api.github.com";
	private ObjectMapper omapper = new ObjectMapper();
	private CredentialsProvider credProvider;
	
@@ -32,29 +33,29 @@ public class ApiGateway {
		this.credProvider = credProvider;
	}
	
	public <Response extends BaseResponse> Response get(String uri, Map<String, Object> paramMap, Class<Response> responseType) throws IOException {
		return this.execute(HttpGet.METHOD_NAME, uri, paramMap, null, responseType);
	public <Response extends BaseResponse> Response get(String uriPath, Map<String, Object> paramMap, Class<Response> responseType) throws IOException {
		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 {
		return this.execute(HttpPost.METHOD_NAME, uri, null, requestObject, responseType);
	public <Request, Response extends BaseResponse> Response post(String uriPath, Request requestObject, Class<Response> responseType) throws IOException {
		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 {
		return this.execute(HttpPost.METHOD_NAME, uri, null, requestObject, responseType);
	public <Request, Response extends BaseResponse> Response put(String uriPath, Request requestObject, Class<Response> responseType) throws IOException {
		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 {
		return this.execute(HttpDelete.METHOD_NAME, uri, paramMap, null, responseType);
	public <Response extends BaseResponse> Response delete(String uriPath, Map<String, Object> paramMap, Class<Response> responseType) throws IOException {
		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())
			this.logger.trace("execute('" + method + "', '" + uri + "')");
			this.logger.trace("execute('" + method + "', '" + uriPath + "')");

		RequestBuilder builder = RequestBuilder
				.create(method)
				.setUri(uri);
				.setUri(this.baseUrl + uriPath);
		
		if (paramMap != null) {
			for (Entry<String, Object> param : paramMap.entrySet())
@@ -65,14 +66,14 @@ public class ApiGateway {
		if (requestObject != null) {
			String requestJson = this.omapper.writeValueAsString(requestObject);
			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));
		}
		
		HttpUriRequest request = builder.build();
		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
				.create()
+4 −0
Original line number Diff line number Diff line
@@ -9,6 +9,10 @@ public class CreatePullRequest {
	private CreatePullRequest() {
	}
	
	public static String constructRequestPath(String repoName) {
		return "/repos/" + repoName + "/" + httpPath;
	}
	
	public static String httpPath = "pulls";
	
	@JsonIgnoreProperties(ignoreUnknown = true)
+4 −0
Original line number Diff line number Diff line
@@ -9,6 +9,10 @@ public class CreateReference {
	private CreateReference() {
	}
	
	public static String constructRequestPath(String repoName) {
		return "/repos/" + repoName + "/" + httpPath;
	}
	
	public static String httpPath = "git/refs";
	
	@JsonIgnoreProperties(ignoreUnknown = true)