Skip to content

Commit 40ea18d

Browse files
authored
Merge pull request #9 from trufflesecurity/allow-custom-filename
Allows custom buffer file naming
2 parents 5cb7e8c + e40a24e commit 40ea18d

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

disk_buffer_reader.go

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,30 @@ type DiskBufferReader struct {
2121
index int64
2222
}
2323

24+
// For making New a variadic function
25+
type Options struct {
26+
bufferName string
27+
}
28+
2429
// New takes an io.Reader and creates returns an initialized DiskBufferReader.
25-
func New(r io.Reader) (*DiskBufferReader, error) {
26-
tmpFile, err := ioutil.TempFile(os.TempDir(), "disk-buffer-file")
27-
if err != nil {
28-
return nil, err
30+
// Optionally, you can pass a string to give the tmpfile a custom name
31+
func New(r io.Reader, opts ...Options) (*DiskBufferReader, error) {
32+
var opt Options
33+
var tmpFile *os.File
34+
var err error
35+
if len(opts) > 0 {
36+
opt = opts[0]
37+
tmpFile, err = ioutil.TempFile(os.TempDir(), opt.bufferName)
38+
if err != nil {
39+
return nil, err
40+
}
41+
} else {
42+
tmpFile, err = ioutil.TempFile(os.TempDir(), "disk-buffer-file")
43+
if err != nil {
44+
return nil, err
45+
}
2946
}
47+
3048
return &DiskBufferReader{
3149
recording: true,
3250
reader: r,

0 commit comments

Comments
 (0)