in cmd/core/input/input.go [33:59]
func NewRequestGenerator(filename string, transformer Transformer, mods ...Modifier) (runner.RequestGenerator, error) {
file, err := open(filename)
if err != nil {
return nil, err
}
defer close(file)
data := parse(file, transformer)
if len(data) < 1 {
return nil, fmt.Errorf("%w: at least one valid input line is required", errors.ErrInvalidFormat)
}
return func(i int) interface{} {
var err error
request := data[i%len(data)]
for _, mod := range mods {
request, err = mod(request)
if err != nil {
panic(err)
}
}
return request
}, nil
}