diff --git a/src/main/java/org/kohsuke/github/GitHubClient.java b/src/main/java/org/kohsuke/github/GitHubClient.java index b27932448..e59ae5f08 100644 --- a/src/main/java/org/kohsuke/github/GitHubClient.java +++ b/src/main/java/org/kohsuke/github/GitHubClient.java @@ -405,7 +405,7 @@ abstract class GitHubClient { // Setting "Cache-Control" to "no-cache" stops the cache from supplying // "If-Modified-Since" or "If-None-Match" values. // This makes GitHub give us current data (not incorrectly cached data) - request = request.toBuilder().withHeader("Cache-Control", "no-cache").build(); + request = request.toBuilder().setHeader("Cache-Control", "no-cache").build(); continue; } if (!(isRateLimitResponse(responseInfo) || isAbuseLimitResponse(responseInfo))) { diff --git a/src/main/java/org/kohsuke/github/GitHubRequest.java b/src/main/java/org/kohsuke/github/GitHubRequest.java index 1148073b2..8661d10a8 100644 --- a/src/main/java/org/kohsuke/github/GitHubRequest.java +++ b/src/main/java/org/kohsuke/github/GitHubRequest.java @@ -384,9 +384,11 @@ class GitHubRequest { * the name * @param value * the value + * @return the request builder */ - public void setHeader(String name, String value) { + public B setHeader(String name, String value) { headers.put(name, value); + return (B) this; } /** @@ -399,8 +401,11 @@ class GitHubRequest { * @return the request builder */ public B withHeader(String name, String value) { - setHeader(name, value); - return (B) this; + String oldValue = headers.get(name); + if (!StringUtils.isBlank(oldValue)) { + value = oldValue + ", " + value; + } + return setHeader(name, value); } /**