File tree Expand file tree Collapse file tree 1 file changed +22
-4
lines changed Expand file tree Collapse file tree 1 file changed +22
-4
lines changed Original file line number Diff line number Diff line change @@ -21,12 +21,30 @@ type DiskBufferReader struct {
21
21
index int64
22
22
}
23
23
24
+ // For making New a variadic function
25
+ type Options struct {
26
+ bufferName string
27
+ }
28
+
24
29
// 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
+ }
29
46
}
47
+
30
48
return & DiskBufferReader {
31
49
recording : true ,
32
50
reader : r ,
You can’t perform that action at this time.
0 commit comments