Add path option for proxying

This commit is contained in:
Bel LaPointe
2019-04-10 11:15:17 -06:00
parent f58f6f7cf3
commit 06ba2dfdc1
4 changed files with 65 additions and 6 deletions

View File

@@ -106,3 +106,13 @@ func GetRewrites(hostMatch string) map[string]string {
}
return m
}
func GetProxyMode() string {
v := packable.NewString()
conf.Get(nsConf, flagMode, v)
s := v.String()
if s == "" {
return "domain"
}
return s
}

View File

@@ -14,6 +14,7 @@ import (
const nsConf = "configuration"
const flagPort = "p"
const flagMode = "mode"
const flagRoutes = "r"
const flagConf = "c"
const flagCert = "crt"
@@ -34,6 +35,7 @@ type toBind struct {
type fileConf struct {
Port string `yaml:"p"`
Mode string `yaml:"mode"`
Routes []string `yaml:"r"`
CertPath string `yaml:"crt"`
KeyPath string `yaml:"key"`
@@ -79,6 +81,9 @@ func fromFile() error {
if err := conf.Set(nsConf, flagPort, packable.NewString(c.Port)); err != nil {
return err
}
if err := conf.Set(nsConf, flagMode, packable.NewString(c.Mode)); err != nil {
return err
}
if err := conf.Set(nsConf, flagRoutes, packable.NewString(strings.Join(c.Routes, ","))); err != nil {
return err
}
@@ -112,6 +117,7 @@ func fromFile() error {
func fromFlags() error {
binds := make([]toBind, 0)
binds = append(binds, addFlag(flagPort, "51555", "port to bind to"))
binds = append(binds, addFlag(flagMode, "domain", "[domain] or [path] to match"))
binds = append(binds, addFlag(flagConf, "", "configuration file path"))
binds = append(binds, addFlag(flagRoutes, "", "comma-separated routes to map, each as from:scheme://to.tld:port"))
binds = append(binds, addFlag(flagCert, "", "path to .crt"))