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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions