diff --git a/lib/http.js b/lib/http.js index ce7bdff..a810d39 100644 --- a/lib/http.js +++ b/lib/http.js @@ -18,9 +18,14 @@ import net from 'net'; import url from 'url'; import Cookie from 'cookiejar'; import charset from 'charset'; -import qs from 'qs'; +import * as pq from 'picoquery'; import * as _request from './request.js'; +const PQ_OPTIONS = { + nesting: true, + nestingSyntax: 'index' +}; + /** * * @param {ChaiStatic} chai @@ -384,7 +389,7 @@ export default function (chai, _) { Assertion.addMethod('param', function () { const assertion = new Assertion(); _.transferFlags(this, assertion); - assertion._obj = qs.parse(url.parse(this._obj.url).query); + assertion._obj = pq.parse(url.parse(this._obj.url).query, PQ_OPTIONS); assertion.property.apply(assertion, arguments); }); diff --git a/package-lock.json b/package-lock.json index 72375ea..4647f2e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "cookiejar": "^2.1.4", "is-ip": "^5.0.1", "methods": "^1.1.2", - "qs": "^6.12.1", + "picoquery": "^1.4.0", "superagent": "^9" }, "devDependencies": { @@ -1824,6 +1824,11 @@ "node >=0.6.0" ] }, + "node_modules/fast-decode-uri-component": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", + "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -3625,6 +3630,14 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/picoquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/picoquery/-/picoquery-1.4.0.tgz", + "integrity": "sha512-VIq9N+nQgmiN6DsAgs7EcAjUezgppBR4zahSu/Q0H0pylLu9e9BORK91n/kmW7wfkHRnNnIn9IIB8uaI7ElvTg==", + "dependencies": { + "fast-decode-uri-component": "^1.0.1" + } + }, "node_modules/pidtree": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", diff --git a/package.json b/package.json index 5d9550b..e3a7808 100644 --- a/package.json +++ b/package.json @@ -48,15 +48,14 @@ "browser": { "http": false, "https": false, - "net": "./lib/net.js", - "querystring": "qs" + "net": "./lib/net.js" }, "dependencies": { "charset": "^1.0.1", "cookiejar": "^2.1.4", "is-ip": "^5.0.1", "methods": "^1.1.2", - "qs": "^6.12.1", + "picoquery": "^1.4.0", "@types/superagent": "^8.1.7", "superagent": "^9" },