in pkg/stream/s3/s3_reader.go [168:193]
func (r *s3Reader) Seek(offset int64, whence int) (newOffset int64, err error) {
oldPos := r.offset
switch whence {
default:
return 0, fmt.Errorf("Seek: invalid whence %v", whence)
case io.SeekStart:
r.offset = offset
case io.SeekCurrent:
r.offset += offset
case io.SeekEnd:
r.offset = r.ContentLength
}
if r.offset > r.ContentLength {
r.offset = r.ContentLength
}
//Close the socket when seeking
//Special case: Dont close if the position hasn't changed
if oldPos != r.offset {
r.closeS3Socket()
}
return r.offset, nil
}