diff --git a/src/main/java/com/inteligr8/github/ApiGateway.java b/src/main/java/com/inteligr8/github/ApiGateway.java index c5121fe..3b684c1 100644 --- a/src/main/java/com/inteligr8/github/ApiGateway.java +++ b/src/main/java/com/inteligr8/github/ApiGateway.java @@ -19,8 +19,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.fasterxml.jackson.databind.ObjectMapper; -import com.inteligr8.http.BaseResponse; -import com.inteligr8.http.PreemptiveAuthInterceptor; +import com.inteligr8.github.http.BaseResponse; +import com.inteligr8.github.http.PreemptiveAuthInterceptor; public class ApiGateway { @@ -84,15 +84,21 @@ public class ApiGateway { if (this.logger.isDebugEnabled()) this.logger.debug("Received response from " + method + ": " + response.getStatusLine().getStatusCode()); - InputStream istream = response.getEntity().getContent(); - try { - Response responseObject = this.omapper.readerFor(responseType).readValue(istream); - responseObject.setHttpStatusCode(response.getStatusLine().getStatusCode()); - responseObject.setHttpStatusReason(response.getStatusLine().getReasonPhrase()); - return responseObject; - } finally { - istream.close(); + Response responseObject = null; + if (response.getEntity() != null) { + InputStream istream = response.getEntity().getContent(); + try { + responseObject = this.omapper.readerFor(responseType).readValue(istream); + } finally { + istream.close(); + } + } else { + responseObject = this.omapper.readerFor(responseType).readValue("{}"); } + + responseObject.setHttpStatusCode(response.getStatusLine().getStatusCode()); + responseObject.setHttpStatusReason(response.getStatusLine().getReasonPhrase()); + return responseObject; } } diff --git a/src/main/java/com/inteligr8/http/BaseResponse.java b/src/main/java/com/inteligr8/github/http/BaseResponse.java similarity index 94% rename from src/main/java/com/inteligr8/http/BaseResponse.java rename to src/main/java/com/inteligr8/github/http/BaseResponse.java index 7d748ab..ed0c387 100644 --- a/src/main/java/com/inteligr8/http/BaseResponse.java +++ b/src/main/java/com/inteligr8/github/http/BaseResponse.java @@ -1,4 +1,4 @@ -package com.inteligr8.http; +package com.inteligr8.github.http; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; diff --git a/src/main/java/com/inteligr8/http/PreemptiveAuthInterceptor.java b/src/main/java/com/inteligr8/github/http/PreemptiveAuthInterceptor.java similarity index 97% rename from src/main/java/com/inteligr8/http/PreemptiveAuthInterceptor.java rename to src/main/java/com/inteligr8/github/http/PreemptiveAuthInterceptor.java index 64eced7..d48ddb3 100644 --- a/src/main/java/com/inteligr8/http/PreemptiveAuthInterceptor.java +++ b/src/main/java/com/inteligr8/github/http/PreemptiveAuthInterceptor.java @@ -1,4 +1,4 @@ -package com.inteligr8.http; +package com.inteligr8.github.http; import java.io.IOException; diff --git a/src/main/java/com/inteligr8/github/model/CreatePullRequest.java b/src/main/java/com/inteligr8/github/model/CreatePullRequest.java index 6f1e6ca..0235ea0 100644 --- a/src/main/java/com/inteligr8/github/model/CreatePullRequest.java +++ b/src/main/java/com/inteligr8/github/model/CreatePullRequest.java @@ -2,7 +2,7 @@ package com.inteligr8.github.model; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; -import com.inteligr8.http.BaseResponse; +import com.inteligr8.github.http.BaseResponse; public class CreatePullRequest { diff --git a/src/main/java/com/inteligr8/github/model/CreateReference.java b/src/main/java/com/inteligr8/github/model/CreateReference.java index 000ae92..c384ac3 100644 --- a/src/main/java/com/inteligr8/github/model/CreateReference.java +++ b/src/main/java/com/inteligr8/github/model/CreateReference.java @@ -2,7 +2,7 @@ package com.inteligr8.github.model; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; -import com.inteligr8.http.BaseResponse; +import com.inteligr8.github.http.BaseResponse; public class CreateReference { diff --git a/src/main/java/com/inteligr8/github/model/DeleteReference.java b/src/main/java/com/inteligr8/github/model/DeleteReference.java new file mode 100644 index 0000000..2a599b6 --- /dev/null +++ b/src/main/java/com/inteligr8/github/model/DeleteReference.java @@ -0,0 +1,18 @@ +package com.inteligr8.github.model; + +public class DeleteReference { + + private DeleteReference() { + } + + public static String constructRequestPath(String repoName, String ref) { + return "/repos/" + repoName + "/" + httpPath + "/" + ref; + } + + public static String constructRequestPathByBranch(String repoName, String branchName) { + return constructRequestPath(repoName, "refs/heads/" + branchName); + } + + public static String httpPath = "git"; + +}