From 356e3368e572068b9f86f8d329ff565ae8f83c15 Mon Sep 17 00:00:00 2001 From: LandaMm Date: Fri, 18 Apr 2025 14:46:53 +0200 Subject: [PATCH] feat: address file --- hsp/address.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 hsp/address.go diff --git a/hsp/address.go b/hsp/address.go new file mode 100644 index 0000000..76344b2 --- /dev/null +++ b/hsp/address.go @@ -0,0 +1,36 @@ +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) +} +