Files
hsp.go/hsp/address.go
2025-04-19 12:38:40 +02:00

36 lines
566 B
Go

package hsp
import (
"fmt"
"strings"
)
type Adddress struct {
Host string
Route string
}
func ParseAddress(address string) (*Adddress, error) {
parts := strings.SplitN(address, "/", 2)
var route string
if len(parts) == 1 {
route = "/"
} else if len(parts) > 1 {
route = "/" + strings.Join(parts[1:], "")
} else {
return nil, fmt.Errorf("Failed to parse address: %s", address)
}
addr := parts[0]
return &Adddress{
Host: addr,
Route: route,
}, nil
}
func (a *Adddress) String() string {
return fmt.Sprintf("%s:%s", a.Host, HSP_PORT)
}