func NewRequestGenerator()

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
}