Problem/Motivation

It's currently not possible to add POST data that contains multiple values, only flat top-level entries.

For example, it should be possible send data matching the following data structure:

{
  "host": "www.example.com",
  "urlList": [
    "https://www.example.com/new-page",
    "https://www.example.com/updated-page"
  ],
  "nested": {
    "values": [
      "value1",
      "value2"
    ]
  }
}

Steps to reproduce

N/A

Proposed resolution

Provide a syntax for handling array values. For example, something along the lines of this:

host=www.example.com
urlList[]=https://www.example.com/new-page
urlList[]=https://www.example.com/updated-page
nested.values[0]=value1
nested.values[1]=value2

Not sure about the [] suffix, but the rest can easily be achieved by setting the value with NestedArray::setValue().

Unsure if any specific HTTP fields might have . in their field names, but if they do, we can add support for an escape character for it e.g. unconventional\.field.

Remaining tasks

Provide MR.

User interface changes

N/A

API changes

Data model changes

Comments

codebymikey created an issue.