Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Reducer] Look for already processed multidimentional value and push the data instead of assigning a new one in body params #93

Merged

Conversation

SamvelRaja
Copy link

@SamvelRaja SamvelRaja commented Apr 5, 2017

Issue:
If the body param has the values

[
  {"name": "key", "value": "value"},
  {"name": "foo", "value": "bar1"},
  {"name": "foo", "value": "bar2"},
  {"name": "foo", "value": "bar3"}
]

The reducer function were generating it as,

{
  "key": "value",
  "foo": [["bar1", "bar2"], "bar3"]
}

On passing the above value to qs module results in key=value&foo=&foo=bar3

This fix ensure we are not blindly adding the query params into the array (results in nested array)

hence, the out put of reducer function would be

{
  "key" : "value",
  "foo": ["bar1", "bar2", "bar3"]
} 

on passing to qs returns key=value&foo=bar1&foo=bar2&foo=bar3 which was the desired value.

P.S: Feel free to comment or reject the PR.

@SamvelRaja
Copy link
Author

Build is already failing in master, hence it is also in the PR

@SamvelRaja SamvelRaja changed the title [Reducer] Look for already processed multidimentional value and push the data instead of assiging a new one in query params [Reducer] Look for already processed multidimentional value and push the data instead of assigning a new one in body params Apr 5, 2017
@ahmadnassri
Copy link
Contributor

thanks! i'll review the build and see why it's failing

@SamvelRaja
Copy link
Author

Ping

@darrenjennings
Copy link
Contributor

Looks good to me, thanks @SamvelRaja! Will probably bundle a few small fixes like this into a next single release.

@darrenjennings darrenjennings changed the base branch from master to next March 10, 2019 21:03
@darrenjennings darrenjennings merged commit faff127 into Kong:next Mar 10, 2019
darrenjennings added a commit that referenced this pull request Apr 25, 2019
* feat(powershell) add powershell files
  - add test fixtures
  - add to available targets

* fix(reducer): reduce multidimensional query strings correctly (#93)
* fix(headers) reduce normal using Object.assign
* fix(node) remove extra whitespace in node fixtures
* fix(node) switch from util.inspect to stringify-object module
  - Consistent formatting across Node versions
  - Fixes cross-node-version tests

* chore(lint) fixes
  - Deprecate utils functions (util._extend -> Object.assign). 
  - Invoke assertion `should` methods. 
  - Remove unnecessary escape chars.

* chore(travis) use later versions of node
* chore(test) disable posttest run for now

* style(spelling) fix misspelled attachment
  - when we switched from util._extend to Object.assign, the ordering of
     the headers seemed to be affected, which means we can switch back to
     a normal `reduce` instead of `reduceRight`

* test(requests) disable deep equal for https
  - Mockbin returns http url even when request is for https url

* test(targets) build in skip mechanism for failures
* test(headers) fix headers consistencies w/fixtures
* test(go) fix header order, human readable

Fixes #125, #124 
From #93
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants