From a9fb4546e19e453766a46256c43232ed2ea35e6a Mon Sep 17 00:00:00 2001 From: Kohsuke Kawaguchi Date: Fri, 5 Aug 2016 20:56:11 -0700 Subject: [PATCH] Constants for preview media types --- src/main/java/org/kohsuke/github/GHBranch.java | 6 +++--- src/main/java/org/kohsuke/github/GHLicense.java | 6 +++--- src/main/java/org/kohsuke/github/GHRepository.java | 3 ++- src/main/java/org/kohsuke/github/GitHub.java | 9 +++------ src/main/java/org/kohsuke/github/Previews.java | 9 +++++++++ src/main/java/org/kohsuke/github/Requester.java | 4 ++++ 6 files changed, 24 insertions(+), 13 deletions(-) create mode 100644 src/main/java/org/kohsuke/github/Previews.java diff --git a/src/main/java/org/kohsuke/github/GHBranch.java b/src/main/java/org/kohsuke/github/GHBranch.java index f4e90f655..4c80db9ef 100644 --- a/src/main/java/org/kohsuke/github/GHBranch.java +++ b/src/main/java/org/kohsuke/github/GHBranch.java @@ -7,6 +7,8 @@ import java.io.IOException; import java.util.Arrays; import java.util.Collection; +import static org.kohsuke.github.Previews.LOKI; + /** * A branch in a repository. * @@ -81,9 +83,7 @@ public class GHBranch { } private void setProtection(BranchProtection bp) throws IOException { - new Requester(root).method("PATCH") - .withHeader("Accept","application/vnd.github.loki-preview+json") - ._with("protection",bp).to(getApiRoute()); + new Requester(root).method("PATCH").withPreview(LOKI)._with("protection",bp).to(getApiRoute()); } String getApiRoute() { diff --git a/src/main/java/org/kohsuke/github/GHLicense.java b/src/main/java/org/kohsuke/github/GHLicense.java index 283a60edf..47bec0f71 100644 --- a/src/main/java/org/kohsuke/github/GHLicense.java +++ b/src/main/java/org/kohsuke/github/GHLicense.java @@ -32,6 +32,8 @@ import java.net.URL; import java.util.ArrayList; import java.util.List; +import static org.kohsuke.github.Previews.DRAX; + /** * The GitHub Preview API's license information *

@@ -141,9 +143,7 @@ public class GHLicense extends GHObject { protected synchronized void populate() throws IOException { if (description!=null) return; // already populated - root.retrieve() - .withHeader("Accept","application/vnd.github.drax-preview+json") - .to(url, this); + root.retrieve().withPreview(DRAX).to(url, this); } @Override diff --git a/src/main/java/org/kohsuke/github/GHRepository.java b/src/main/java/org/kohsuke/github/GHRepository.java index 04e2b8510..472adf41e 100644 --- a/src/main/java/org/kohsuke/github/GHRepository.java +++ b/src/main/java/org/kohsuke/github/GHRepository.java @@ -51,6 +51,7 @@ import java.util.Set; import java.util.TreeMap; import static java.util.Arrays.asList; +import static org.kohsuke.github.Previews.DRAX; /** * A repository on GitHub. @@ -878,7 +879,7 @@ public class GHRepository extends GHObject { private GHContentWithLicense getLicenseContent_() throws IOException { try { return root.retrieve() - .withHeader("Accept","application/vnd.github.drax-preview+json") + .withPreview(DRAX) .to(getApiTailUrl("license"), GHContentWithLicense.class).wrap(this); } catch (FileNotFoundException e) { return null; diff --git a/src/main/java/org/kohsuke/github/GitHub.java b/src/main/java/org/kohsuke/github/GitHub.java index dff5f5914..e5bf16b1d 100644 --- a/src/main/java/org/kohsuke/github/GitHub.java +++ b/src/main/java/org/kohsuke/github/GitHub.java @@ -27,6 +27,7 @@ import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.ANY; import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE; import static java.util.logging.Level.FINE; import static java.net.HttpURLConnection.HTTP_UNAUTHORIZED; +import static org.kohsuke.github.Previews.DRAX; import java.io.ByteArrayInputStream; import java.io.FileNotFoundException; @@ -353,9 +354,7 @@ public class GitHub { public PagedIterable listLicenses() throws IOException { return new PagedIterable() { public PagedIterator _iterator(int pageSize) { - return new PagedIterator(retrieve() - .withHeader("Accept","application/vnd.github.drax-preview+json") - .asIterator("/licenses", GHLicense[].class, pageSize)) { + return new PagedIterator(retrieve().withPreview(DRAX).asIterator("/licenses", GHLicense[].class, pageSize)) { @Override protected void wrapUp(GHLicense[] page) { for (GHLicense c : page) @@ -378,9 +377,7 @@ public class GitHub { */ @Preview @Deprecated public GHLicense getLicense(String key) throws IOException { - return retrieve() - .withHeader("Accept","application/vnd.github.drax-preview+json") - .to("/licenses/" + key, GHLicense.class); + return retrieve().withPreview(DRAX).to("/licenses/" + key, GHLicense.class); } /** diff --git a/src/main/java/org/kohsuke/github/Previews.java b/src/main/java/org/kohsuke/github/Previews.java new file mode 100644 index 000000000..a5d061cbd --- /dev/null +++ b/src/main/java/org/kohsuke/github/Previews.java @@ -0,0 +1,9 @@ +package org.kohsuke.github; + +/** + * @author Kohsuke Kawaguchi + */ +/*package*/ class Previews { + static final String LOKI = "application/vnd.github.loki-preview+json"; + static final String DRAX = "application/vnd.github.drax-preview+json"; +} diff --git a/src/main/java/org/kohsuke/github/Requester.java b/src/main/java/org/kohsuke/github/Requester.java index 43c4e0769..ac492579c 100644 --- a/src/main/java/org/kohsuke/github/Requester.java +++ b/src/main/java/org/kohsuke/github/Requester.java @@ -110,6 +110,10 @@ class Requester { return this; } + /*package*/ Requester withPreview(String name) { + return withHeader("Accept",name); + } + /** * Makes a request with authentication credential. */