Изменение подхода работы с ContentType и поддержка application/x-www-form-urlencoded
В настоящий момент если мы используем метод POST И если Content-Type != multipart/form-dataa Gonkey автоматически устанавливает Content-Type: application/json И будет парсить соответствующим образом request
Необходимо добавить обработку ContentType: application/x-www-form-urlencoded
В лоб решается как еще одна ифка
func newRequest(host string, test models.TestInterface) (req *http.Request, err error) {
if test.GetForm() != nil {
req, err = newMultipartRequest(host, test)
if err != nil {
return nil, err
}
} else if test.ContentType() == "application/x-www-form-urlencoded" {
И если она срабатывает то парсим request как query
params, err := url.ParseQuery(test.GetRequest())
Мне не очень нравится, что мы определяем как строить запрос не опираясь изначально на Content-Type.
Предлагаю смотреть на test.ContentType() и исходя из значения выбирать логику. Тогда в случае multipart/form-data уже внутри проверять test.GetForm().
Также в дальнейшем сможем свободно добавлять другие типы.