package http3

// copied from net/transport.go

// gzipReader wraps a response body so it can lazily
// call gzip.NewReader on the first call to Read
import (
	
	
)

// call gzip.NewReader on the first call to Read
type gzipReader struct {
	body io.ReadCloser // underlying Response.Body
	zr   *gzip.Reader  // lazily-initialized gzip reader
	zerr error         // sticky error
}

func newGzipReader( io.ReadCloser) io.ReadCloser {
	return &gzipReader{body: }
}

func ( *gzipReader) ( []byte) ( int,  error) {
	if .zerr != nil {
		return 0, .zerr
	}
	if .zr == nil {
		.zr,  = gzip.NewReader(.body)
		if  != nil {
			.zerr = 
			return 0, 
		}
	}
	return .zr.Read()
}

func ( *gzipReader) () error {
	return .body.Close()
}