fix(dns): add runtime address alias
Co-Authored-By: Virgil <virgil@lethean.io>
This commit is contained in:
parent
0be2f529a0
commit
d0b3da9494
2 changed files with 20 additions and 4 deletions
21
serve.go
21
serve.go
|
|
@ -36,6 +36,15 @@ type ServiceRuntime struct {
|
|||
HTTP *HealthServer
|
||||
}
|
||||
|
||||
// Address is the compatibility alias for HealthAddress.
|
||||
//
|
||||
// runtime, err := service.ServeAll("127.0.0.1", 53, 5554)
|
||||
// defer func() { _ = runtime.Close() }()
|
||||
// fmt.Println(runtime.Address())
|
||||
func (runtime *ServiceRuntime) Address() string {
|
||||
return runtime.HealthAddress()
|
||||
}
|
||||
|
||||
func (runtime *ServiceRuntime) DNSAddress() string {
|
||||
if runtime == nil || runtime.DNS == nil {
|
||||
return ""
|
||||
|
|
@ -104,14 +113,18 @@ func (server *DNSServer) Close() error {
|
|||
if server.tcpListener != nil {
|
||||
_ = server.tcpListener.Close()
|
||||
}
|
||||
var err error
|
||||
var firstError error
|
||||
if server.udpServer != nil {
|
||||
err = server.udpServer.Shutdown()
|
||||
if err := server.udpServer.Shutdown(); err != nil && firstError == nil {
|
||||
firstError = err
|
||||
}
|
||||
}
|
||||
if server.tcpServer != nil {
|
||||
err = server.tcpServer.Shutdown()
|
||||
if err := server.tcpServer.Shutdown(); err != nil && firstError == nil {
|
||||
firstError = err
|
||||
}
|
||||
}
|
||||
return err
|
||||
return firstError
|
||||
}
|
||||
|
||||
// ResolveDNSPort returns the DNS port used for `dns.serve` and `Serve`.
|
||||
|
|
|
|||
|
|
@ -761,6 +761,9 @@ func TestServiceServeAllStartsDNSAndHTTPTogether(t *testing.T) {
|
|||
if runtime.HealthAddress() == "" {
|
||||
t.Fatal("expected health address from combined runtime")
|
||||
}
|
||||
if runtime.Address() != runtime.HealthAddress() {
|
||||
t.Fatalf("expected runtime Address alias to match HealthAddress, got %q and %q", runtime.Address(), runtime.HealthAddress())
|
||||
}
|
||||
if runtime.DNS.Address() != runtime.DNSAddress() {
|
||||
t.Fatalf("expected DNSAddress and Address to match, got %q and %q", runtime.DNS.DNSAddress(), runtime.DNS.Address())
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue