ljharb/qs
Add the ability to enable strict RFC 3986 conformance for decoding as well as encoding
Offen
#205 geöffnet am 10.04.2017
enhancementhelp wantedparsesemver-minor: new features
Repository-Metriken
- Stars
- (8.943 Sterne)
- PR-Merge-Metriken
- (Durchschn. Merge 6T 22h) (2 gemergte PRs in 30 T)
Beschreibung
To achieve strict RFC 3986 conformance (specifically, '+' in query strings is a LITERAL '+' and not a placeholder for ' ' as per the W3C's URL recommendations, the following is necessary:
qs.parse(s, {
decoder: (str) => {
try {
return decodeURIComponent(str);
} catch (e) {
return str;
}
},
})
For those of us who prefer strict RFC 3986 conformance, I suggest an option like:
qs.parse(s, {
format: 'RFC3986',
})
which would be much more concise and not require knowing the implementation details of the default decode function.