client.go
func newFileBuffer(file File) fileBuffer {
	buf := &bytes.Buffer{}
	return fileBuffer{
		Reader: io.TeeReader(file.Reader, buf),
		File:   file,
		cache:  buf,
	}
}
func newFileBuffer(file File) fileBuffer {
	buf := &bytes.Buffer{}
	return fileBuffer{
		Reader: io.TeeReader(file.Reader, buf),
		File:   file,
		cache:  buf,
	}
}
// newFileBuffer creates a buffer for reading from the specified File file