Add --src flag

Allows you to configure a different code hosting site besides
github.com, like one powered by Gitea or Gogs.
This commit is contained in:
Matt Baer 2018-09-23 16:10:29 -04:00
parent 91da7c59de
commit c1f5d067a2

21
main.go
View File

@ -21,13 +21,14 @@ import (
)
var (
httpFlag = flag.String("http", ":8080", "Serve HTTP at given address")
httpsFlag = flag.String("https", "", "Serve HTTPS at given address")
certFlag = flag.String("cert", "", "Use the provided TLS certificate")
keyFlag = flag.String("key", "", "Use the provided TLS key")
acmeFlag = flag.String("acme", "", "Auto-request TLS certs and store in given directory")
domainFlag = flag.String("domain", "gopkg.in", "Domain name")
userFlag = flag.String("username", "", "Github username")
httpFlag = flag.String("http", ":8080", "Serve HTTP at given address")
httpsFlag = flag.String("https", "", "Serve HTTPS at given address")
certFlag = flag.String("cert", "", "Use the provided TLS certificate")
keyFlag = flag.String("key", "", "Use the provided TLS key")
acmeFlag = flag.String("acme", "", "Auto-request TLS certs and store in given directory")
domainFlag = flag.String("domain", "gopkg.in", "Domain name")
srcDomainFlag = flag.String("src", "github.com", "Domain name containing source code")
userFlag = flag.String("username", "", "Github username")
)
var httpServer = &http.Server{
@ -188,12 +189,12 @@ var redirect = map[repoBase]repoBase{
// GitHubRoot returns the repository root at GitHub, without a schema.
func (repo *Repo) GitHubRoot() string {
if *userFlag != "" {
return "github.com/" + *userFlag + "/" + repo.Name
return *srcDomainFlag + "/" + *userFlag + "/" + repo.Name
}
if repo.User == "" {
return "github.com/go-" + repo.Name + "/" + repo.Name
return *srcDomainFlag + "/go-" + repo.Name + "/" + repo.Name
}
return "github.com/" + repo.User + "/" + repo.Name
return *srcDomainFlag + "/" + repo.User + "/" + repo.Name
}
// GitHubTree returns the repository tree name at GitHub for the selected version.