Skip to content

Изменение подхода работы с ContentType и поддержка application/x-www-form-urlencoded #220

@keyclaim

Description

@keyclaim

В настоящий момент если мы используем метод 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().

Также в дальнейшем сможем свободно добавлять другие типы.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions