mirror of
https://github.com/yusing/godoxy.git
synced 2026-02-22 00:37:47 +01:00
feat(route): allow empty listening port in port specification
Support the ":proxy" format where only the proxy port is specified. When the listening port part is empty, it defaults to 0 instead of returning a parse error.
This commit is contained in:
@@ -27,7 +27,11 @@ func (p *Port) Parse(v string) (err error) {
|
||||
p.Proxy, err = strconv.Atoi(v)
|
||||
case 2:
|
||||
var err2 error
|
||||
p.Listening, err = strconv.Atoi(parts[0])
|
||||
if parts[0] == "" {
|
||||
p.Listening = 0
|
||||
} else {
|
||||
p.Listening, err = strconv.Atoi(parts[0])
|
||||
}
|
||||
p.Proxy, err2 = strconv.Atoi(parts[1])
|
||||
err = gperr.Join(err, err2)
|
||||
default:
|
||||
|
||||
@@ -10,7 +10,6 @@ var invalidPorts = []string{
|
||||
"",
|
||||
"123:",
|
||||
"0:",
|
||||
":1234",
|
||||
"qwerty",
|
||||
"asdfgh:asdfgh",
|
||||
"1234:asdfgh",
|
||||
@@ -78,6 +77,14 @@ func TestPortValid(t *testing.T) {
|
||||
Proxy: 5678,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "valid_lp_empty",
|
||||
inputs: ":1234",
|
||||
expect: Port{
|
||||
Listening: 0,
|
||||
Proxy: 1234,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "valid_p",
|
||||
inputs: "5678",
|
||||
|
||||
Reference in New Issue
Block a user