code: func (h *Handler) Close() error {
  	deadlineCtx, cancelFunc := context.WithDeadline(context.Background(), time.Now().Add(h.closeTimeout))
  	defer cancelFunc()
  	err := h.server.Shutdown(deadlineCtx)
  	if err != nil {
  		err = h.server.Close()
  	}
  	return errors.Wrap(err, "shutdown/close http server")
  }
docs: // Close tries to cleanly shutdown the HTTP server, and failing that, after a
  // timeout, calls Server.Close.