package httputil

import (
	"io"

	"go.uber.org/zap"
)

// DeferCloseLog logs the error returned from closing, if one occurs
func DeferCloseLog(c io.Closer) {
	if err := c.Close(); err != nil {
		zap.S().Error(err)
	}
}

// DeferCloseErr captures the error returned from closing (if an error occurs).
// This is designed to be used in a defer statement.
func DeferCloseErr(c io.Closer, err *error) {
	if cerr := c.Close(); cerr != nil && *err == nil {
		*err = cerr
	}
}
