From 1edc1a45e3aee1f7d86b68c3ddaf2fd16ba8ab73 Mon Sep 17 00:00:00 2001 From: Matt Holt Date: Thu, 1 Sep 2022 16:30:03 -0600 Subject: core: Plugins can register listener networks (#5002) * core: Plugins can register listener networks This can be useful for custom listeners. This feature/API is experimental and may change! * caddyhttp: Expose server listeners --- modules/caddyhttp/server.go | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'modules/caddyhttp/server.go') diff --git a/modules/caddyhttp/server.go b/modules/caddyhttp/server.go index dcf9af1..e01e7c8 100644 --- a/modules/caddyhttp/server.go +++ b/modules/caddyhttp/server.go @@ -579,6 +579,14 @@ func (s *Server) protocol(proto string) bool { return false } +// Listeners returns the server's listeners. These are active listeners, +// so calling Accept() or Close() on them will probably break things. +// They are made available here for read-only purposes (e.g. Addr()) +// and for type-asserting for purposes where you know what you're doing. +// +// EXPERIMENTAL: Subject to change or removal. +func (s *Server) Listeners() []net.Listener { return s.listeners } + // ServerLogConfig describes a server's logging configuration. If // enabled without customization, all requests to this server are // logged to the default logger; logger destinations may be -- cgit v1.2.3