Add path option for proxying
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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"))
|
||||
|
||||
Reference in New Issue
Block a user