2022-08-26 14:18:35 +03:00
|
|
|
package forward_test
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"fmt"
|
|
|
|
"net/netip"
|
|
|
|
|
|
|
|
"github.com/AdguardTeam/AdGuardDNS/internal/dnsserver"
|
|
|
|
"github.com/AdguardTeam/AdGuardDNS/internal/dnsserver/forward"
|
|
|
|
)
|
|
|
|
|
|
|
|
func ExampleNewHandler() {
|
|
|
|
conf := dnsserver.ConfigDNS{
|
|
|
|
ConfigBase: dnsserver.ConfigBase{
|
2022-11-07 10:21:24 +03:00
|
|
|
Name: "srv",
|
|
|
|
Addr: "127.0.0.1:0",
|
2022-08-26 14:18:35 +03:00
|
|
|
Handler: forward.NewHandler(&forward.HandlerConfig{
|
2024-01-04 19:22:32 +03:00
|
|
|
UpstreamsAddresses: []*forward.UpstreamPlainConfig{{
|
|
|
|
Network: forward.NetworkAny,
|
|
|
|
Address: netip.MustParseAddrPort("8.8.8.8:53"),
|
|
|
|
Timeout: testTimeout,
|
|
|
|
}},
|
|
|
|
FallbackAddresses: []*forward.UpstreamPlainConfig{{
|
|
|
|
Network: forward.NetworkAny,
|
|
|
|
Address: netip.MustParseAddrPort("1.1.1.1:53"),
|
|
|
|
Timeout: testTimeout,
|
|
|
|
}},
|
2023-06-11 12:58:40 +03:00
|
|
|
}),
|
2022-08-26 14:18:35 +03:00
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
srv := dnsserver.NewServerDNS(conf)
|
|
|
|
err := srv.Start(context.Background())
|
|
|
|
if err != nil {
|
|
|
|
panic("failed to start the server")
|
|
|
|
}
|
|
|
|
|
|
|
|
fmt.Println("started server")
|
|
|
|
|
|
|
|
defer func() {
|
|
|
|
err = srv.Shutdown(context.Background())
|
|
|
|
if err != nil {
|
|
|
|
panic("failed to shutdown the server")
|
|
|
|
}
|
|
|
|
|
|
|
|
fmt.Println("stopped server")
|
|
|
|
}()
|
|
|
|
|
|
|
|
// Output:
|
|
|
|
//
|
|
|
|
// started server
|
|
|
|
// stopped server
|
|
|
|
}
|