Documentation ¶
Index ¶
- Variables
- type Server
- func (s *Server) Close()
- func (s *Server) Closed() bool
- func (s *Server) ServeHTTP(l net.Listener) error
- func (s *Server) ServeHTTPS(l net.Listener) error
- func (s *Server) ServeTCP(l net.Listener) error
- func (s *Server) ServeTLS(l net.Listener) error
- func (s *Server) ServeUDP(c net.PacketConn) error
- type ServerOpts
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrServerClosed = errors.New("server closed")
)
Functions ¶
This section is empty.
Types ¶
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server is a DNS server. It's functions, Server.ServeUDP etc., will block and close the net.Listener/net.PacketConn and always return a non-nil error. If Server was closed, the returned err will be ErrServerClosed.
func NewServer ¶ added in v4.2.0
func NewServer(opts ServerOpts) *Server
type ServerOpts ¶ added in v4.2.0
type ServerOpts struct { // Logger optionally specifies a logger for the server logging. // A nil Logger will disable the logging. Logger *zap.Logger // DNSHandler is the dns handler required by UDP, TCP, DoT server. DNSHandler dns_handler.Handler // HttpHandler is the http handler required by HTTP, DoH server. HttpHandler http.Handler // TLSConfig is required by DoT, DoH server. // It must contain at least one certificate. If not, caller should use // Cert, Key to load a certificate from disk. TLSConfig *tls.Config // Certificate files to start DoT, DoH server. // Only useful if there is no server certificate specified in TLSConfig. Cert, Key string // IdleTimeout limits the maximum time period that a connection // can idle. Default is defaultTCPIdleTimeout. IdleTimeout time.Duration }
Click to show internal directories.
Click to hide internal directories.