47 lines
572 B
Go
47 lines
572 B
Go
package rpc
|
|
|
|
import "strings"
|
|
|
|
type Endpoint string
|
|
|
|
func (e Endpoint) Address() string {
|
|
|
|
before, _, found := strings.Cut(string(e), ":")
|
|
|
|
if !found {
|
|
return ""
|
|
}
|
|
|
|
return before
|
|
}
|
|
|
|
func (e Endpoint) Port() string {
|
|
|
|
_, after, found := strings.Cut(string(e), ":")
|
|
|
|
if !found {
|
|
return ""
|
|
}
|
|
|
|
return after
|
|
}
|
|
|
|
func (e Endpoint) String() string {
|
|
return string(e)
|
|
}
|
|
|
|
func EndpointString(endpoint string) (ep Endpoint) {
|
|
|
|
_, after, found := strings.Cut(string(endpoint), "//")
|
|
|
|
if !found {
|
|
ep = Endpoint(endpoint)
|
|
|
|
return
|
|
}
|
|
|
|
ep = Endpoint(after)
|
|
|
|
return
|
|
}
|