Suggested fix for issues #360 and #339.
This preserves duplicate request params with names ending in [] (which are needed if the request has multiple free-form Redmine queries), while still removing other duplicates.
(I'm not sure why duplicates are a problem in the first place, but presumably there was some reason for their removal…)
I've added unit tests for the new dedup() function; all the existing URIConfigurator tests still pass, too. I wasn't able to run most of the other unit tests, as they connect to http://dev.taskadapter.com:8097 which isn't reachable, and I don't know of an alternative test server. But these changes are localised and shouldn't affect anything else.
Also, I've tested this in our own application, and confirmed that it fixes the multiple-queries issue, and doesn't seem to break anything else.
Suggested fix for issues #360 and #339. This preserves duplicate request params with names ending in
[]
(which are needed if the request has multiple free-form Redmine queries), while still removing other duplicates. (I'm not sure why duplicates are a problem in the first place, but presumably there was some reason for their removal…)I've added unit tests for the new
dedup()
function; all the existing URIConfigurator tests still pass, too. I wasn't able to run most of the other unit tests, as they connect tohttp://dev.taskadapter.com:8097
which isn't reachable, and I don't know of an alternative test server. But these changes are localised and shouldn't affect anything else. Also, I've tested this in our own application, and confirmed that it fixes the multiple-queries issue, and doesn't seem to break anything else.