Global "duplicates" parameter #51

Closed
paftek opened this Issue Nov 9, 2012 · 5 comments

Comments

Projects
None yet
2 participants

paftek commented Nov 9, 2012

Hi and thanks for this great lib!

Working with an URI instance, I cannot find a way to prevent it to remove duplicates (as URI.buildQuery() offers).

Is it possible to have a global flag like : URI.allowDuplicates = true
And / or something on an instance like : uri.allowDuplicates(true)

Thanks!

Owner

rodneyrehm commented Nov 9, 2012

how exactly are you using URI.js? (what are you doing and what are you expecting exactly)

paftek commented Nov 12, 2012

My points:

Goal

I want to replace all my utility methods about URI modifications by a lib doing it the proper way. I mostly modify query strings and compare URI.

Question about duplicates

Event if I cannot find a case yet where I need to send duplicates, my utility methods do not prevent me to do that. I do not want a regression on that specific point by switching to the URI lib.
Is the duplicates removal a part of any specification?

Consistency

If URI.buildQuery() offers me a way to choose if whether or not I want duplicates, why uri.addQuery() cannot?

paftek closed this Nov 12, 2012

paftek reopened this Nov 12, 2012

Owner

rodneyrehm commented Nov 12, 2012

Is the duplicates removal a part of any specification?

hell no. All that is defined is the syntax - but nobody every said anything about semantics. This lead to a lot of different implementations regarding the handling of query strings. ?foo=1&foo=2 is treated as foo = 2 in one environment and as foo = [1, 2] in another.

v1.8.0 is on the doorstep (waiting a couple of days for some possible fix in QUnit). I've already introduced URI.duplicateQueryParameters = true; for global configuration and URI("…").duplicateQueryParameter(true) for instance configuration. Consider your problem solved, just not released yet.

(I'll close the ticket once v1.8.0 is out)

paftek commented Nov 12, 2012

Great, many thanks!

Owner

rodneyrehm commented Nov 13, 2012

Issue resolved with v1.8.0

rodneyrehm closed this Nov 13, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment