Do not overwrite HTTP auth configuration settings
When initialising GitHub authentication, we need to prevent existing
customised settings on the [http] auth section from being overwritten
with default values.
Change-Id: I56f0df590543b831f96576a25561585361a6a059
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InitGitHub.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InitGitHub.java
index 564fd3e..fe48ccf 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InitGitHub.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InitGitHub.java
@@ -15,6 +15,7 @@
import java.net.URISyntaxException;
+import com.google.common.base.Strings;
import com.google.gerrit.pgm.init.api.ConsoleUI;
import com.google.gerrit.pgm.init.api.InitStep;
import com.google.gerrit.pgm.init.api.InitUtil;
@@ -46,11 +47,10 @@
public void run() throws Exception {
ui.header("GitHub Integration");
- auth.set("httpHeader", "GITHUB_USER");
- auth.set("httpExternalIdHeader", "GITHUB_OAUTH_TOKEN");
- auth.set("loginUrl","/login");
- auth.set("loginText", "Sign-in with GitHub");
- auth.set("registerPageUrl", "/#/register");
+ authSetDefault("httpExternalIdHeader", "GITHUB_OAUTH_TOKEN");
+ authSetDefault("loginUrl","/login");
+ authSetDefault("loginText", "Sign-in with GitHub");
+ authSetDefault("registerPageUrl", "/#/register");
github.string("GitHub URL", "url", GITHUB_URL);
github.string("GitHub API URL", "apiUrl", GITHUB_API_URL);
@@ -76,6 +76,12 @@
httpd.set("filterClass", "com.googlesource.gerrit.plugins.github.oauth.OAuthFilter");
}
+ private void authSetDefault(String key, String defValue) {
+ if (Strings.isNullOrEmpty(auth.get(key))) {
+ auth.set(key, defValue);
+ }
+ }
+
private String getAssumedCanonicalWebUrl() {
String url = gerrit.get("canonicalWebUrl");
if (url != null) {