mirror of
				https://github.com/caddyserver/caddy.git
				synced 2025-11-03 19:17:29 -05:00 
			
		
		
		
	Merge branch 'reload-ln-middleware'
This commit is contained in:
		
						commit
						620f9687c8
					
				
							
								
								
									
										7
									
								
								caddy.go
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								caddy.go
									
									
									
									
									
								
							@ -354,6 +354,11 @@ type GracefulServer interface {
 | 
			
		||||
	// address; you must store the address the
 | 
			
		||||
	// server is to serve on some other way.
 | 
			
		||||
	Address() string
 | 
			
		||||
 | 
			
		||||
	// WrapListener wraps a listener with the
 | 
			
		||||
	// listener middlewares configured for this
 | 
			
		||||
	// server, if any.
 | 
			
		||||
	WrapListener(net.Listener) net.Listener
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Listener is a net.Listener with an underlying file descriptor.
 | 
			
		||||
@ -729,6 +734,7 @@ func startServers(serverList []Server, inst *Instance, restartFds map[string]res
 | 
			
		||||
						return err
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				ln = gs.WrapListener(ln)
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -767,6 +773,7 @@ func startServers(serverList []Server, inst *Instance, restartFds map[string]res
 | 
			
		||||
						return err
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				ln = gs.WrapListener(ln)
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -274,16 +274,26 @@ func (s *Server) Listen() (net.Listener, error) {
 | 
			
		||||
		ln = tcpKeepAliveListener{TCPListener: tcpLn}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	cln := s.WrapListener(ln)
 | 
			
		||||
 | 
			
		||||
	// Very important to return a concrete caddy.Listener
 | 
			
		||||
	// implementation for graceful restarts.
 | 
			
		||||
	return cln.(caddy.Listener), nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// WrapListener wraps ln in the listener middlewares configured
 | 
			
		||||
// for this server.
 | 
			
		||||
func (s *Server) WrapListener(ln net.Listener) net.Listener {
 | 
			
		||||
	if ln == nil {
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
	cln := ln.(caddy.Listener)
 | 
			
		||||
	for _, site := range s.sites {
 | 
			
		||||
		for _, m := range site.listenerMiddleware {
 | 
			
		||||
			cln = m(cln)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Very important to return a concrete caddy.Listener
 | 
			
		||||
	// implementation for graceful restarts.
 | 
			
		||||
	return cln.(caddy.Listener), nil
 | 
			
		||||
	return cln
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ListenPacket creates udp connection for QUIC if it is enabled,
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user