blob: c9804316e92601ee71d8e4c6e91bde7aeeb9e1c0 [file] [log] [blame]
package com.gerritforge.analytics.plugin
import com.google.gerrit.server.config.GerritServerConfig
import com.google.inject.Inject
import com.typesafe.scalalogging.LazyLogging
import org.eclipse.jgit.lib.Config
class GerritConfigSupport @Inject()(@GerritServerConfig val cfg: Config) extends LazyLogging {
def getListenUrl(): Option[String] = {
val listenUrl = cfg.getString("httpd", null, "listenUrl")
val portRegex = "(proxy-)?https?://[^:]+:([0-9]+)/(.*)".r
listenUrl match {
case portRegex(_, port, path) =>
val url = s"http://127.0.0.1:$port/$path"
if(url.endsWith("/")) {
Some(url.dropRight(1))
} else {
Some(url)
}
case _ => {
logger.warn(s"Unable to extract local Gerrit URL from $listenUrl")
None
}
}
}
}