mirror of
https://github.com/prymitive/karma
synced 2026-05-11 03:46:48 +00:00
Transport refactoring introduced a bug where HTTP(S) response body is closed before it's fully read (depending on whenever gzip is used or not), this change fixes it and makes the code easier to follow by removing duplicated code and enforcing all transport packages to implement ReaderCloser interface.
29 lines
482 B
Go
29 lines
482 B
Go
package transport
|
|
|
|
import (
|
|
"io"
|
|
"os"
|
|
|
|
log "github.com/Sirupsen/logrus"
|
|
)
|
|
|
|
type fileReader struct {
|
|
filename string
|
|
fd *os.File
|
|
}
|
|
|
|
func (fr *fileReader) Read(b []byte) (n int, err error) {
|
|
return fr.fd.Read(b)
|
|
}
|
|
|
|
func (fr *fileReader) Close() error {
|
|
return fr.fd.Close()
|
|
}
|
|
|
|
func newFileReader(filname string) (io.ReadCloser, error) {
|
|
log.Infof("Reading file '%s'", filname)
|
|
fd, err := os.Open(filname)
|
|
fr := fileReader{filename: filname, fd: fd}
|
|
return &fr, err
|
|
}
|