diff --git a/hsp/address.go b/hsp/address.go index 7215196..a062665 100644 --- a/hsp/address.go +++ b/hsp/address.go @@ -7,6 +7,7 @@ import ( type Adddress struct { Host string + Port string Route string } @@ -24,12 +25,23 @@ func ParseAddress(address string) (*Adddress, error) { addr := parts[0] + port := HSP_PORT + + if strings.Contains(addr, ":") { + p := strings.Split(addr, ":") + if len(p) >= 2 { + port = p[len(p) - 1] + addr = p[0] + } + } + return &Adddress{ Host: addr, + Port: port, Route: route, }, nil } func (a *Adddress) String() string { - return fmt.Sprintf("%s:%s", a.Host, HSP_PORT) + return fmt.Sprintf("%s:%s", a.Host, a.Port) }