code: func (s *HTTPServer) ListenAndServe() error {
  	addr := s.Server.Addr
  	if addr == "" {
  		addr = ":http"
  	}
  	ln, err := net.Listen("tcp", addr)
  	if err != nil {
  		return err
  	}
  	return s.Serve(ln)
  }
docs: // ListenAndServe overrides http.Server's method.
  //
  // Unlike the original, this method returns immediately just after
  // starting a goroutine to accept connections.  To stop listening,
  // call the environment's Cancel.
  //
  // ListenAndServe returns non-nil error if and only if net.Listen failed.