@@ -285,6 +285,11 @@ type Server struct {
285285 onStopFuncs []func (context.Context ) error // TODO: Experimental (Nov. 2023)
286286}
287287
288+ var (
289+ ServerHeader = "Caddy"
290+ serverHeader = []string {ServerHeader }
291+ )
292+
288293// ServeHTTP is the entry point for all HTTP requests.
289294func (s * Server ) ServeHTTP (w http.ResponseWriter , r * http.Request ) {
290295 // If there are listener wrappers that process tls connections but don't return a *tls.Conn, this field will be nil.
@@ -294,16 +299,14 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
294299 }
295300 }
296301
297- w .Header ().Set ("Server" , "Caddy" )
302+ h := w .Header ()
303+ h ["Server" ] = serverHeader
298304
299305 // advertise HTTP/3, if enabled
300- if s .h3server != nil {
301- if r .ProtoMajor < 3 {
302- err := s .h3server .SetQUICHeaders (w .Header ())
303- if err != nil {
304- if c := s .logger .Check (zapcore .ErrorLevel , "setting HTTP/3 Alt-Svc header" ); c != nil {
305- c .Write (zap .Error (err ))
306- }
306+ if s .h3server != nil && r .ProtoMajor < 3 {
307+ if err := s .h3server .SetQUICHeaders (h ); err != nil {
308+ if c := s .logger .Check (zapcore .ErrorLevel , "setting HTTP/3 Alt-Svc header" ); c != nil {
309+ c .Write (zap .Error (err ))
307310 }
308311 }
309312 }
@@ -328,9 +331,7 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
328331 // enable full-duplex for HTTP/1, ensuring the entire
329332 // request body gets consumed before writing the response
330333 if s .EnableFullDuplex && r .ProtoMajor == 1 {
331- //nolint:bodyclose
332- err := http .NewResponseController (w ).EnableFullDuplex ()
333- if err != nil {
334+ if err := http .NewResponseController (w ).EnableFullDuplex (); err != nil { //nolint:bodyclose
334335 if c := s .logger .Check (zapcore .WarnLevel , "failed to enable full duplex" ); c != nil {
335336 c .Write (zap .Error (err ))
336337 }
@@ -417,8 +418,7 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
417418 var fields []zapcore.Field
418419 if s .Errors != nil && len (s .Errors .Routes ) > 0 {
419420 // execute user-defined error handling route
420- err2 := s .errorHandlerChain .ServeHTTP (w , r )
421- if err2 == nil {
421+ if err2 := s .errorHandlerChain .ServeHTTP (w , r ); err2 == nil {
422422 // user's error route handled the error response
423423 // successfully, so now just log the error
424424 for _ , logger := range errLoggers {
0 commit comments