@st-gr/sail-proxy 0.9.2 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/gateway/node_modules/.package-lock.json +132 -83
- package/bundled/gateway/node_modules/axios/CHANGELOG.md +0 -42
- package/bundled/gateway/node_modules/axios/README.md +237 -237
- package/bundled/gateway/node_modules/axios/dist/axios.js +21 -113
- package/bundled/gateway/node_modules/axios/dist/axios.js.map +1 -0
- package/bundled/gateway/node_modules/axios/dist/axios.min.js +2 -2
- package/bundled/gateway/node_modules/axios/dist/axios.min.js.map +1 -1
- package/bundled/gateway/node_modules/axios/dist/browser/axios.cjs +15 -121
- package/bundled/gateway/node_modules/axios/dist/browser/axios.cjs.map +1 -0
- package/bundled/gateway/node_modules/axios/dist/esm/axios.js +15 -121
- package/bundled/gateway/node_modules/axios/dist/esm/axios.js.map +1 -0
- package/bundled/gateway/node_modules/axios/dist/esm/axios.min.js +2 -2
- package/bundled/gateway/node_modules/axios/dist/esm/axios.min.js.map +1 -1
- package/bundled/gateway/node_modules/axios/dist/node/axios.cjs +107 -249
- package/bundled/gateway/node_modules/axios/dist/node/axios.cjs.map +1 -0
- package/bundled/gateway/node_modules/axios/index.d.cts +3 -8
- package/bundled/gateway/node_modules/axios/index.d.ts +1 -4
- package/bundled/gateway/node_modules/axios/lib/adapters/fetch.js +0 -79
- package/bundled/gateway/node_modules/axios/lib/adapters/http.js +118 -62
- package/bundled/gateway/node_modules/axios/lib/core/Axios.js +0 -1
- package/bundled/gateway/node_modules/axios/lib/core/AxiosHeaders.js +2 -2
- package/bundled/gateway/node_modules/axios/lib/defaults/transitional.js +0 -1
- package/bundled/gateway/node_modules/axios/lib/env/data.js +1 -1
- package/bundled/gateway/node_modules/axios/lib/helpers/buildURL.js +1 -1
- package/bundled/gateway/node_modules/axios/lib/helpers/formDataToStream.js +2 -2
- package/bundled/gateway/node_modules/axios/lib/helpers/resolveConfig.js +6 -12
- package/bundled/gateway/node_modules/axios/lib/helpers/toFormData.js +1 -1
- package/bundled/gateway/node_modules/axios/lib/utils.js +2 -23
- package/bundled/gateway/node_modules/axios/package.json +13 -29
- package/bundled/gateway/node_modules/body-parser/HISTORY.md +0 -14
- package/bundled/gateway/node_modules/body-parser/SECURITY.md +25 -0
- package/bundled/gateway/node_modules/body-parser/lib/types/json.js +5 -1
- package/bundled/gateway/node_modules/body-parser/lib/types/urlencoded.js +15 -7
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/.editorconfig +46 -0
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/.eslintrc +38 -0
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/.github/FUNDING.yml +12 -0
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/.nycrc +13 -0
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/CHANGELOG.md +600 -0
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/LICENSE.md +29 -0
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/README.md +709 -0
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/dist/qs.js +90 -0
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/lib/formats.js +23 -0
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/lib/index.js +11 -0
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/lib/parse.js +296 -0
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/lib/stringify.js +351 -0
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/lib/utils.js +265 -0
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/package.json +91 -0
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/test/empty-keys-cases.js +267 -0
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/test/parse.js +1170 -0
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/test/stringify.js +1298 -0
- package/bundled/gateway/node_modules/body-parser/node_modules/qs/test/utils.js +136 -0
- package/bundled/gateway/node_modules/body-parser/package.json +10 -9
- package/bundled/gateway/node_modules/cookie/index.js +35 -24
- package/bundled/gateway/node_modules/cookie/package.json +1 -1
- package/bundled/gateway/node_modules/cookie-signature/History.md +1 -5
- package/bundled/gateway/node_modules/cookie-signature/index.js +6 -6
- package/bundled/gateway/node_modules/cookie-signature/package.json +2 -2
- package/bundled/gateway/node_modules/express/History.md +0 -43
- package/bundled/gateway/node_modules/express/lib/response.js +0 -1
- package/bundled/gateway/node_modules/express/lib/utils.js +1 -2
- package/bundled/gateway/node_modules/express/node_modules/qs/.editorconfig +43 -0
- package/bundled/gateway/node_modules/express/node_modules/qs/.eslintrc +38 -0
- package/bundled/gateway/node_modules/express/node_modules/qs/.github/FUNDING.yml +12 -0
- package/bundled/gateway/node_modules/express/node_modules/qs/.nycrc +13 -0
- package/bundled/gateway/node_modules/express/node_modules/qs/CHANGELOG.md +546 -0
- package/bundled/gateway/node_modules/express/node_modules/qs/LICENSE.md +29 -0
- package/bundled/gateway/node_modules/express/node_modules/qs/README.md +625 -0
- package/bundled/gateway/node_modules/express/node_modules/qs/dist/qs.js +2054 -0
- package/bundled/gateway/node_modules/express/node_modules/qs/lib/formats.js +23 -0
- package/bundled/gateway/node_modules/express/node_modules/qs/lib/index.js +11 -0
- package/bundled/gateway/node_modules/express/node_modules/qs/lib/parse.js +263 -0
- package/bundled/gateway/node_modules/express/node_modules/qs/lib/stringify.js +326 -0
- package/bundled/gateway/node_modules/express/node_modules/qs/lib/utils.js +252 -0
- package/bundled/gateway/node_modules/express/node_modules/qs/package.json +77 -0
- package/bundled/gateway/node_modules/express/node_modules/qs/test/parse.js +855 -0
- package/bundled/gateway/node_modules/express/node_modules/qs/test/stringify.js +909 -0
- package/bundled/gateway/node_modules/express/node_modules/qs/test/utils.js +136 -0
- package/bundled/gateway/node_modules/express/package.json +17 -21
- package/bundled/gateway/node_modules/finalhandler/HISTORY.md +0 -21
- package/bundled/gateway/node_modules/finalhandler/README.md +2 -2
- package/bundled/gateway/node_modules/finalhandler/index.js +2 -7
- package/bundled/gateway/node_modules/finalhandler/node_modules/encodeurl/HISTORY.md +14 -0
- package/bundled/gateway/node_modules/finalhandler/node_modules/encodeurl/LICENSE +22 -0
- package/bundled/gateway/node_modules/finalhandler/node_modules/encodeurl/README.md +128 -0
- package/bundled/gateway/node_modules/finalhandler/node_modules/encodeurl/index.js +60 -0
- package/bundled/gateway/node_modules/finalhandler/node_modules/encodeurl/package.json +40 -0
- package/bundled/gateway/node_modules/finalhandler/package.json +9 -10
- package/bundled/gateway/node_modules/http-errors/HISTORY.md +0 -6
- package/bundled/gateway/node_modules/http-errors/index.js +3 -4
- package/bundled/gateway/node_modules/http-errors/package.json +8 -12
- package/bundled/gateway/node_modules/qs/CHANGELOG.md +0 -16
- package/bundled/gateway/node_modules/qs/README.md +1 -1
- package/bundled/gateway/node_modules/qs/dist/qs.js +15 -15
- package/bundled/gateway/node_modules/qs/eslint.config.mjs +0 -1
- package/bundled/gateway/node_modules/qs/lib/parse.js +24 -54
- package/bundled/gateway/node_modules/qs/lib/stringify.js +4 -11
- package/bundled/gateway/node_modules/qs/package.json +3 -3
- package/bundled/gateway/node_modules/qs/test/parse.js +0 -135
- package/bundled/gateway/node_modules/qs/test/stringify.js +0 -138
- package/bundled/gateway/node_modules/qs/test/utils.js +3 -31
- package/bundled/gateway/node_modules/raw-body/HISTORY.md +308 -0
- package/bundled/gateway/node_modules/raw-body/SECURITY.md +24 -0
- package/bundled/gateway/node_modules/raw-body/package.json +7 -5
- package/bundled/gateway/node_modules/send/HISTORY.md +7 -19
- package/bundled/gateway/node_modules/send/node_modules/encodeurl/HISTORY.md +14 -0
- package/bundled/gateway/node_modules/send/node_modules/encodeurl/LICENSE +22 -0
- package/bundled/gateway/node_modules/send/node_modules/encodeurl/README.md +128 -0
- package/bundled/gateway/node_modules/send/node_modules/encodeurl/index.js +60 -0
- package/bundled/gateway/node_modules/send/node_modules/encodeurl/package.json +40 -0
- package/bundled/gateway/node_modules/send/package.json +6 -6
- package/bundled/gateway/node_modules/serve-static/HISTORY.md +0 -16
- package/bundled/gateway/node_modules/serve-static/node_modules/encodeurl/HISTORY.md +14 -0
- package/bundled/gateway/node_modules/serve-static/node_modules/encodeurl/LICENSE +22 -0
- package/bundled/gateway/node_modules/serve-static/node_modules/encodeurl/README.md +128 -0
- package/bundled/gateway/node_modules/serve-static/node_modules/encodeurl/index.js +60 -0
- package/bundled/gateway/node_modules/serve-static/node_modules/encodeurl/package.json +40 -0
- package/bundled/gateway/node_modules/serve-static/package.json +3 -3
- package/bundled/gateway/node_modules/statuses/HISTORY.md +0 -5
- package/bundled/gateway/node_modules/statuses/README.md +0 -3
- package/bundled/gateway/node_modules/statuses/package.json +7 -7
- package/bundled/gateway/package-lock.json +137 -88
- package/bundled/gateway/package.json +23 -5
- package/bundled/ollama/node_modules/.package-lock.json +104 -85
- package/bundled/ollama/node_modules/axios/CHANGELOG.md +0 -42
- package/bundled/ollama/node_modules/axios/README.md +237 -237
- package/bundled/ollama/node_modules/axios/dist/axios.js +21 -113
- package/bundled/ollama/node_modules/axios/dist/axios.js.map +1 -0
- package/bundled/ollama/node_modules/axios/dist/axios.min.js +2 -2
- package/bundled/ollama/node_modules/axios/dist/axios.min.js.map +1 -1
- package/bundled/ollama/node_modules/axios/dist/browser/axios.cjs +15 -121
- package/bundled/ollama/node_modules/axios/dist/browser/axios.cjs.map +1 -0
- package/bundled/ollama/node_modules/axios/dist/esm/axios.js +15 -121
- package/bundled/ollama/node_modules/axios/dist/esm/axios.js.map +1 -0
- package/bundled/ollama/node_modules/axios/dist/esm/axios.min.js +2 -2
- package/bundled/ollama/node_modules/axios/dist/esm/axios.min.js.map +1 -1
- package/bundled/ollama/node_modules/axios/dist/node/axios.cjs +107 -249
- package/bundled/ollama/node_modules/axios/dist/node/axios.cjs.map +1 -0
- package/bundled/ollama/node_modules/axios/index.d.cts +3 -8
- package/bundled/ollama/node_modules/axios/index.d.ts +1 -4
- package/bundled/ollama/node_modules/axios/lib/adapters/fetch.js +0 -79
- package/bundled/ollama/node_modules/axios/lib/adapters/http.js +118 -62
- package/bundled/ollama/node_modules/axios/lib/core/Axios.js +0 -1
- package/bundled/ollama/node_modules/axios/lib/core/AxiosHeaders.js +2 -2
- package/bundled/ollama/node_modules/axios/lib/defaults/transitional.js +0 -1
- package/bundled/ollama/node_modules/axios/lib/env/data.js +1 -1
- package/bundled/ollama/node_modules/axios/lib/helpers/buildURL.js +1 -1
- package/bundled/ollama/node_modules/axios/lib/helpers/formDataToStream.js +2 -2
- package/bundled/ollama/node_modules/axios/lib/helpers/resolveConfig.js +6 -12
- package/bundled/ollama/node_modules/axios/lib/helpers/toFormData.js +1 -1
- package/bundled/ollama/node_modules/axios/lib/utils.js +2 -23
- package/bundled/ollama/node_modules/axios/package.json +13 -29
- package/bundled/ollama/node_modules/body-parser/HISTORY.md +0 -14
- package/bundled/ollama/node_modules/body-parser/SECURITY.md +25 -0
- package/bundled/ollama/node_modules/body-parser/lib/types/json.js +5 -1
- package/bundled/ollama/node_modules/body-parser/lib/types/urlencoded.js +15 -7
- package/bundled/ollama/node_modules/body-parser/package.json +10 -9
- package/bundled/ollama/node_modules/cookie/index.js +35 -24
- package/bundled/ollama/node_modules/cookie/package.json +1 -1
- package/bundled/ollama/node_modules/cookie-signature/History.md +1 -5
- package/bundled/ollama/node_modules/cookie-signature/index.js +6 -6
- package/bundled/ollama/node_modules/cookie-signature/package.json +2 -2
- package/bundled/ollama/node_modules/express/History.md +0 -43
- package/bundled/ollama/node_modules/express/lib/response.js +0 -1
- package/bundled/ollama/node_modules/express/lib/utils.js +1 -2
- package/bundled/ollama/node_modules/express/package.json +17 -21
- package/bundled/ollama/node_modules/finalhandler/HISTORY.md +0 -21
- package/bundled/ollama/node_modules/finalhandler/README.md +2 -2
- package/bundled/ollama/node_modules/finalhandler/index.js +2 -7
- package/bundled/ollama/node_modules/finalhandler/node_modules/encodeurl/HISTORY.md +14 -0
- package/bundled/ollama/node_modules/finalhandler/node_modules/encodeurl/LICENSE +22 -0
- package/bundled/ollama/node_modules/finalhandler/node_modules/encodeurl/README.md +128 -0
- package/bundled/ollama/node_modules/finalhandler/node_modules/encodeurl/index.js +60 -0
- package/bundled/ollama/node_modules/finalhandler/node_modules/encodeurl/package.json +40 -0
- package/bundled/ollama/node_modules/finalhandler/package.json +9 -10
- package/bundled/ollama/node_modules/http-errors/HISTORY.md +0 -6
- package/bundled/ollama/node_modules/http-errors/index.js +3 -4
- package/bundled/ollama/node_modules/http-errors/package.json +8 -12
- package/bundled/ollama/node_modules/qs/CHANGELOG.md +0 -16
- package/bundled/ollama/node_modules/qs/README.md +1 -1
- package/bundled/ollama/node_modules/qs/dist/qs.js +15 -15
- package/bundled/ollama/node_modules/qs/eslint.config.mjs +0 -1
- package/bundled/ollama/node_modules/qs/lib/parse.js +24 -54
- package/bundled/ollama/node_modules/qs/lib/stringify.js +4 -11
- package/bundled/ollama/node_modules/qs/package.json +3 -3
- package/bundled/ollama/node_modules/qs/test/parse.js +0 -135
- package/bundled/ollama/node_modules/qs/test/stringify.js +0 -138
- package/bundled/ollama/node_modules/qs/test/utils.js +3 -31
- package/bundled/ollama/node_modules/raw-body/HISTORY.md +308 -0
- package/bundled/ollama/node_modules/raw-body/SECURITY.md +24 -0
- package/bundled/ollama/node_modules/raw-body/package.json +7 -5
- package/bundled/ollama/node_modules/send/HISTORY.md +7 -19
- package/bundled/ollama/node_modules/send/node_modules/encodeurl/HISTORY.md +14 -0
- package/bundled/ollama/node_modules/send/node_modules/encodeurl/LICENSE +22 -0
- package/bundled/ollama/node_modules/send/node_modules/encodeurl/README.md +128 -0
- package/bundled/ollama/node_modules/send/node_modules/encodeurl/index.js +60 -0
- package/bundled/ollama/node_modules/send/node_modules/encodeurl/package.json +40 -0
- package/bundled/ollama/node_modules/send/package.json +6 -6
- package/bundled/ollama/node_modules/serve-static/HISTORY.md +0 -16
- package/bundled/ollama/node_modules/serve-static/node_modules/encodeurl/HISTORY.md +14 -0
- package/bundled/ollama/node_modules/serve-static/node_modules/encodeurl/LICENSE +22 -0
- package/bundled/ollama/node_modules/serve-static/node_modules/encodeurl/README.md +128 -0
- package/bundled/ollama/node_modules/serve-static/node_modules/encodeurl/index.js +60 -0
- package/bundled/ollama/node_modules/serve-static/node_modules/encodeurl/package.json +40 -0
- package/bundled/ollama/node_modules/serve-static/package.json +3 -3
- package/bundled/ollama/node_modules/statuses/HISTORY.md +0 -5
- package/bundled/ollama/node_modules/statuses/README.md +0 -3
- package/bundled/ollama/node_modules/statuses/package.json +7 -7
- package/bundled/ollama/package-lock.json +107 -88
- package/bundled/ollama/package.json +24 -4
- package/node_modules/@sap-llm-gateway/service-key-parser/package.json +1 -1
- package/package.json +2 -2
- package/bundled/gateway/node_modules/axios/lib/helpers/Http2Sessions.js +0 -119
- package/bundled/ollama/node_modules/axios/lib/helpers/Http2Sessions.js +0 -119
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var test = require('tape');
|
|
4
|
+
var inspect = require('object-inspect');
|
|
5
|
+
var SaferBuffer = require('safer-buffer').Buffer;
|
|
6
|
+
var forEach = require('for-each');
|
|
7
|
+
var utils = require('../lib/utils');
|
|
8
|
+
|
|
9
|
+
test('merge()', function (t) {
|
|
10
|
+
t.deepEqual(utils.merge(null, true), [null, true], 'merges true into null');
|
|
11
|
+
|
|
12
|
+
t.deepEqual(utils.merge(null, [42]), [null, 42], 'merges null into an array');
|
|
13
|
+
|
|
14
|
+
t.deepEqual(utils.merge({ a: 'b' }, { a: 'c' }), { a: ['b', 'c'] }, 'merges two objects with the same key');
|
|
15
|
+
|
|
16
|
+
var oneMerged = utils.merge({ foo: 'bar' }, { foo: { first: '123' } });
|
|
17
|
+
t.deepEqual(oneMerged, { foo: ['bar', { first: '123' }] }, 'merges a standalone and an object into an array');
|
|
18
|
+
|
|
19
|
+
var twoMerged = utils.merge({ foo: ['bar', { first: '123' }] }, { foo: { second: '456' } });
|
|
20
|
+
t.deepEqual(twoMerged, { foo: { 0: 'bar', 1: { first: '123' }, second: '456' } }, 'merges a standalone and two objects into an array');
|
|
21
|
+
|
|
22
|
+
var sandwiched = utils.merge({ foo: ['bar', { first: '123', second: '456' }] }, { foo: 'baz' });
|
|
23
|
+
t.deepEqual(sandwiched, { foo: ['bar', { first: '123', second: '456' }, 'baz'] }, 'merges an object sandwiched by two standalones into an array');
|
|
24
|
+
|
|
25
|
+
var nestedArrays = utils.merge({ foo: ['baz'] }, { foo: ['bar', 'xyzzy'] });
|
|
26
|
+
t.deepEqual(nestedArrays, { foo: ['baz', 'bar', 'xyzzy'] });
|
|
27
|
+
|
|
28
|
+
var noOptionsNonObjectSource = utils.merge({ foo: 'baz' }, 'bar');
|
|
29
|
+
t.deepEqual(noOptionsNonObjectSource, { foo: 'baz', bar: true });
|
|
30
|
+
|
|
31
|
+
t.test(
|
|
32
|
+
'avoids invoking array setters unnecessarily',
|
|
33
|
+
{ skip: typeof Object.defineProperty !== 'function' },
|
|
34
|
+
function (st) {
|
|
35
|
+
var setCount = 0;
|
|
36
|
+
var getCount = 0;
|
|
37
|
+
var observed = [];
|
|
38
|
+
Object.defineProperty(observed, 0, {
|
|
39
|
+
get: function () {
|
|
40
|
+
getCount += 1;
|
|
41
|
+
return { bar: 'baz' };
|
|
42
|
+
},
|
|
43
|
+
set: function () { setCount += 1; }
|
|
44
|
+
});
|
|
45
|
+
utils.merge(observed, [null]);
|
|
46
|
+
st.equal(setCount, 0);
|
|
47
|
+
st.equal(getCount, 1);
|
|
48
|
+
observed[0] = observed[0]; // eslint-disable-line no-self-assign
|
|
49
|
+
st.equal(setCount, 1);
|
|
50
|
+
st.equal(getCount, 2);
|
|
51
|
+
st.end();
|
|
52
|
+
}
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
t.end();
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
test('assign()', function (t) {
|
|
59
|
+
var target = { a: 1, b: 2 };
|
|
60
|
+
var source = { b: 3, c: 4 };
|
|
61
|
+
var result = utils.assign(target, source);
|
|
62
|
+
|
|
63
|
+
t.equal(result, target, 'returns the target');
|
|
64
|
+
t.deepEqual(target, { a: 1, b: 3, c: 4 }, 'target and source are merged');
|
|
65
|
+
t.deepEqual(source, { b: 3, c: 4 }, 'source is untouched');
|
|
66
|
+
|
|
67
|
+
t.end();
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
test('combine()', function (t) {
|
|
71
|
+
t.test('both arrays', function (st) {
|
|
72
|
+
var a = [1];
|
|
73
|
+
var b = [2];
|
|
74
|
+
var combined = utils.combine(a, b);
|
|
75
|
+
|
|
76
|
+
st.deepEqual(a, [1], 'a is not mutated');
|
|
77
|
+
st.deepEqual(b, [2], 'b is not mutated');
|
|
78
|
+
st.notEqual(a, combined, 'a !== combined');
|
|
79
|
+
st.notEqual(b, combined, 'b !== combined');
|
|
80
|
+
st.deepEqual(combined, [1, 2], 'combined is a + b');
|
|
81
|
+
|
|
82
|
+
st.end();
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
t.test('one array, one non-array', function (st) {
|
|
86
|
+
var aN = 1;
|
|
87
|
+
var a = [aN];
|
|
88
|
+
var bN = 2;
|
|
89
|
+
var b = [bN];
|
|
90
|
+
|
|
91
|
+
var combinedAnB = utils.combine(aN, b);
|
|
92
|
+
st.deepEqual(b, [bN], 'b is not mutated');
|
|
93
|
+
st.notEqual(aN, combinedAnB, 'aN + b !== aN');
|
|
94
|
+
st.notEqual(a, combinedAnB, 'aN + b !== a');
|
|
95
|
+
st.notEqual(bN, combinedAnB, 'aN + b !== bN');
|
|
96
|
+
st.notEqual(b, combinedAnB, 'aN + b !== b');
|
|
97
|
+
st.deepEqual([1, 2], combinedAnB, 'first argument is array-wrapped when not an array');
|
|
98
|
+
|
|
99
|
+
var combinedABn = utils.combine(a, bN);
|
|
100
|
+
st.deepEqual(a, [aN], 'a is not mutated');
|
|
101
|
+
st.notEqual(aN, combinedABn, 'a + bN !== aN');
|
|
102
|
+
st.notEqual(a, combinedABn, 'a + bN !== a');
|
|
103
|
+
st.notEqual(bN, combinedABn, 'a + bN !== bN');
|
|
104
|
+
st.notEqual(b, combinedABn, 'a + bN !== b');
|
|
105
|
+
st.deepEqual([1, 2], combinedABn, 'second argument is array-wrapped when not an array');
|
|
106
|
+
|
|
107
|
+
st.end();
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
t.test('neither is an array', function (st) {
|
|
111
|
+
var combined = utils.combine(1, 2);
|
|
112
|
+
st.notEqual(1, combined, '1 + 2 !== 1');
|
|
113
|
+
st.notEqual(2, combined, '1 + 2 !== 2');
|
|
114
|
+
st.deepEqual([1, 2], combined, 'both arguments are array-wrapped when not an array');
|
|
115
|
+
|
|
116
|
+
st.end();
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
t.end();
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
test('isBuffer()', function (t) {
|
|
123
|
+
forEach([null, undefined, true, false, '', 'abc', 42, 0, NaN, {}, [], function () {}, /a/g], function (x) {
|
|
124
|
+
t.equal(utils.isBuffer(x), false, inspect(x) + ' is not a buffer');
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
var fakeBuffer = { constructor: Buffer };
|
|
128
|
+
t.equal(utils.isBuffer(fakeBuffer), false, 'fake buffer is not a buffer');
|
|
129
|
+
|
|
130
|
+
var saferBuffer = SaferBuffer.from('abc');
|
|
131
|
+
t.equal(utils.isBuffer(saferBuffer), true, 'SaferBuffer instance is a buffer');
|
|
132
|
+
|
|
133
|
+
var buffer = Buffer.from && Buffer.alloc ? Buffer.from('abc') : new Buffer('abc');
|
|
134
|
+
t.equal(utils.isBuffer(buffer), true, 'real Buffer instance is a buffer');
|
|
135
|
+
t.end();
|
|
136
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "body-parser",
|
|
3
3
|
"description": "Node.js body parsing middleware",
|
|
4
|
-
"version": "1.20.
|
|
4
|
+
"version": "1.20.3",
|
|
5
5
|
"contributors": [
|
|
6
6
|
"Douglas Christopher Wilson <doug@somethingdoug.com>",
|
|
7
7
|
"Jonathan Ong <me@jongleberry.com> (http://jongleberry.com)"
|
|
@@ -9,18 +9,18 @@
|
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"repository": "expressjs/body-parser",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"bytes": "
|
|
12
|
+
"bytes": "3.1.2",
|
|
13
13
|
"content-type": "~1.0.5",
|
|
14
14
|
"debug": "2.6.9",
|
|
15
15
|
"depd": "2.0.0",
|
|
16
|
-
"destroy": "
|
|
17
|
-
"http-errors": "
|
|
18
|
-
"iconv-lite": "
|
|
19
|
-
"on-finished": "
|
|
20
|
-
"qs": "
|
|
21
|
-
"raw-body": "
|
|
16
|
+
"destroy": "1.2.0",
|
|
17
|
+
"http-errors": "2.0.0",
|
|
18
|
+
"iconv-lite": "0.4.24",
|
|
19
|
+
"on-finished": "2.4.1",
|
|
20
|
+
"qs": "6.13.0",
|
|
21
|
+
"raw-body": "2.5.2",
|
|
22
22
|
"type-is": "~1.6.18",
|
|
23
|
-
"unpipe": "
|
|
23
|
+
"unpipe": "1.0.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"eslint": "8.34.0",
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
"lib/",
|
|
41
41
|
"LICENSE",
|
|
42
42
|
"HISTORY.md",
|
|
43
|
+
"SECURITY.md",
|
|
43
44
|
"index.js"
|
|
44
45
|
],
|
|
45
46
|
"engines": {
|
|
@@ -21,7 +21,6 @@ exports.serialize = serialize;
|
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
23
|
var __toString = Object.prototype.toString
|
|
24
|
-
var __hasOwnProperty = Object.prototype.hasOwnProperty
|
|
25
24
|
|
|
26
25
|
/**
|
|
27
26
|
* RegExp to match cookie-name in RFC 6265 sec 4.1.1
|
|
@@ -65,15 +64,9 @@ var cookieValueRegExp = /^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u00
|
|
|
65
64
|
* <letter> = any one of the 52 alphabetic characters A through Z in
|
|
66
65
|
* upper case and a through z in lower case
|
|
67
66
|
* <digit> = any one of the ten digits 0 through 9
|
|
68
|
-
*
|
|
69
|
-
* Keep support for leading dot: https://github.com/jshttp/cookie/issues/173
|
|
70
|
-
*
|
|
71
|
-
* > (Note that a leading %x2E ("."), if present, is ignored even though that
|
|
72
|
-
* character is not permitted, but a trailing %x2E ("."), if present, will
|
|
73
|
-
* cause the user agent to ignore the attribute.)
|
|
74
67
|
*/
|
|
75
68
|
|
|
76
|
-
var domainValueRegExp = /^([
|
|
69
|
+
var domainValueRegExp = /^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i;
|
|
77
70
|
|
|
78
71
|
/**
|
|
79
72
|
* RegExp to match path-value in RFC 6265 sec 4.1.1
|
|
@@ -92,12 +85,12 @@ var pathValueRegExp = /^[\u0020-\u003A\u003D-\u007E]*$/;
|
|
|
92
85
|
* The object has the various cookies as keys(names) => values
|
|
93
86
|
*
|
|
94
87
|
* @param {string} str
|
|
95
|
-
* @param {object} [
|
|
88
|
+
* @param {object} [options]
|
|
96
89
|
* @return {object}
|
|
97
90
|
* @public
|
|
98
91
|
*/
|
|
99
92
|
|
|
100
|
-
function parse(str,
|
|
93
|
+
function parse(str, options) {
|
|
101
94
|
if (typeof str !== 'string') {
|
|
102
95
|
throw new TypeError('argument str must be a string');
|
|
103
96
|
}
|
|
@@ -105,16 +98,21 @@ function parse(str, opt) {
|
|
|
105
98
|
var obj = {};
|
|
106
99
|
var len = str.length;
|
|
107
100
|
// RFC 6265 sec 4.1.1, RFC 2616 2.2 defines a cookie name consists of one char minimum, plus '='.
|
|
108
|
-
|
|
101
|
+
var max = len - 2;
|
|
102
|
+
if (max < 0) return obj;
|
|
109
103
|
|
|
110
|
-
var dec = (
|
|
104
|
+
var dec = (options && options.decode) || decode;
|
|
111
105
|
var index = 0;
|
|
112
106
|
var eqIdx = 0;
|
|
113
107
|
var endIdx = 0;
|
|
114
108
|
|
|
115
109
|
do {
|
|
116
110
|
eqIdx = str.indexOf('=', index);
|
|
117
|
-
|
|
111
|
+
|
|
112
|
+
// no more cookie pairs
|
|
113
|
+
if (eqIdx === -1) {
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
118
116
|
|
|
119
117
|
endIdx = str.indexOf(';', index);
|
|
120
118
|
|
|
@@ -131,7 +129,7 @@ function parse(str, opt) {
|
|
|
131
129
|
var key = str.slice(keyStartIdx, keyEndIdx);
|
|
132
130
|
|
|
133
131
|
// only assign once
|
|
134
|
-
if (
|
|
132
|
+
if (undefined === obj[key]) {
|
|
135
133
|
var valStartIdx = startIndex(str, eqIdx + 1, endIdx);
|
|
136
134
|
var valEndIdx = endIndex(str, endIdx, valStartIdx);
|
|
137
135
|
|
|
@@ -145,7 +143,7 @@ function parse(str, opt) {
|
|
|
145
143
|
}
|
|
146
144
|
|
|
147
145
|
index = endIdx + 1
|
|
148
|
-
} while (index <
|
|
146
|
+
} while (index < max);
|
|
149
147
|
|
|
150
148
|
return obj;
|
|
151
149
|
}
|
|
@@ -177,13 +175,14 @@ function endIndex(str, index, min) {
|
|
|
177
175
|
*
|
|
178
176
|
* @param {string} name
|
|
179
177
|
* @param {string} val
|
|
180
|
-
* @param {object} [
|
|
178
|
+
* @param {object} [options]
|
|
181
179
|
* @return {string}
|
|
182
180
|
* @public
|
|
183
181
|
*/
|
|
184
182
|
|
|
185
|
-
function serialize(name, val,
|
|
186
|
-
var
|
|
183
|
+
function serialize(name, val, options) {
|
|
184
|
+
var opt = options || {};
|
|
185
|
+
var enc = opt.encode || encode;
|
|
187
186
|
|
|
188
187
|
if (typeof enc !== 'function') {
|
|
189
188
|
throw new TypeError('option encode is invalid');
|
|
@@ -195,21 +194,20 @@ function serialize(name, val, opt) {
|
|
|
195
194
|
|
|
196
195
|
var value = enc(val);
|
|
197
196
|
|
|
198
|
-
if (!cookieValueRegExp.test(value)) {
|
|
197
|
+
if (value && !cookieValueRegExp.test(value)) {
|
|
199
198
|
throw new TypeError('argument val is invalid');
|
|
200
199
|
}
|
|
201
200
|
|
|
202
201
|
var str = name + '=' + value;
|
|
203
|
-
if (!opt) return str;
|
|
204
202
|
|
|
205
203
|
if (null != opt.maxAge) {
|
|
206
|
-
var maxAge =
|
|
204
|
+
var maxAge = opt.maxAge - 0;
|
|
207
205
|
|
|
208
206
|
if (!isFinite(maxAge)) {
|
|
209
207
|
throw new TypeError('option maxAge is invalid')
|
|
210
208
|
}
|
|
211
209
|
|
|
212
|
-
str += '; Max-Age=' + maxAge;
|
|
210
|
+
str += '; Max-Age=' + Math.floor(maxAge);
|
|
213
211
|
}
|
|
214
212
|
|
|
215
213
|
if (opt.domain) {
|
|
@@ -252,7 +250,8 @@ function serialize(name, val, opt) {
|
|
|
252
250
|
|
|
253
251
|
if (opt.priority) {
|
|
254
252
|
var priority = typeof opt.priority === 'string'
|
|
255
|
-
? opt.priority.toLowerCase()
|
|
253
|
+
? opt.priority.toLowerCase()
|
|
254
|
+
: opt.priority
|
|
256
255
|
|
|
257
256
|
switch (priority) {
|
|
258
257
|
case 'low':
|
|
@@ -307,6 +306,17 @@ function decode (str) {
|
|
|
307
306
|
: str
|
|
308
307
|
}
|
|
309
308
|
|
|
309
|
+
/**
|
|
310
|
+
* URL-encode value.
|
|
311
|
+
*
|
|
312
|
+
* @param {string} val
|
|
313
|
+
* @returns {string}
|
|
314
|
+
*/
|
|
315
|
+
|
|
316
|
+
function encode (val) {
|
|
317
|
+
return encodeURIComponent(val)
|
|
318
|
+
}
|
|
319
|
+
|
|
310
320
|
/**
|
|
311
321
|
* Determine if value is a Date.
|
|
312
322
|
*
|
|
@@ -315,7 +325,8 @@ function decode (str) {
|
|
|
315
325
|
*/
|
|
316
326
|
|
|
317
327
|
function isDate (val) {
|
|
318
|
-
return __toString.call(val) === '[object Date]'
|
|
328
|
+
return __toString.call(val) === '[object Date]' ||
|
|
329
|
+
val instanceof Date
|
|
319
330
|
}
|
|
320
331
|
|
|
321
332
|
/**
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
1.0.7 / 2023-04-12
|
|
2
|
-
==================
|
|
3
|
-
|
|
4
|
-
* backport the buffer support from the 1.2.x release branch (thanks @FadhiliNjagi!)
|
|
5
|
-
|
|
6
1
|
1.0.6 / 2015-02-03
|
|
7
2
|
==================
|
|
8
3
|
|
|
9
4
|
* use `npm test` instead of `make test` to run tests
|
|
10
5
|
* clearer assertion messages when checking input
|
|
11
6
|
|
|
7
|
+
|
|
12
8
|
1.0.5 / 2014-09-05
|
|
13
9
|
==================
|
|
14
10
|
|
|
@@ -8,14 +8,14 @@ var crypto = require('crypto');
|
|
|
8
8
|
* Sign the given `val` with `secret`.
|
|
9
9
|
*
|
|
10
10
|
* @param {String} val
|
|
11
|
-
* @param {String
|
|
11
|
+
* @param {String} secret
|
|
12
12
|
* @return {String}
|
|
13
13
|
* @api private
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
16
|
exports.sign = function(val, secret){
|
|
17
|
-
if ('string'
|
|
18
|
-
if (
|
|
17
|
+
if ('string' != typeof val) throw new TypeError("Cookie value must be provided as a string.");
|
|
18
|
+
if ('string' != typeof secret) throw new TypeError("Secret string must be provided.");
|
|
19
19
|
return val + '.' + crypto
|
|
20
20
|
.createHmac('sha256', secret)
|
|
21
21
|
.update(val)
|
|
@@ -28,14 +28,14 @@ exports.sign = function(val, secret){
|
|
|
28
28
|
* returning `false` if the signature is invalid.
|
|
29
29
|
*
|
|
30
30
|
* @param {String} val
|
|
31
|
-
* @param {String
|
|
31
|
+
* @param {String} secret
|
|
32
32
|
* @return {String|Boolean}
|
|
33
33
|
* @api private
|
|
34
34
|
*/
|
|
35
35
|
|
|
36
36
|
exports.unsign = function(val, secret){
|
|
37
|
-
if ('string'
|
|
38
|
-
if (
|
|
37
|
+
if ('string' != typeof val) throw new TypeError("Signed cookie string must be provided.");
|
|
38
|
+
if ('string' != typeof secret) throw new TypeError("Secret string must be provided.");
|
|
39
39
|
var str = val.slice(0, val.lastIndexOf('.'))
|
|
40
40
|
, mac = exports.sign(str, secret);
|
|
41
41
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cookie-signature",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "Sign and unsign cookies",
|
|
5
5
|
"keywords": ["cookie", "sign", "unsign"],
|
|
6
6
|
"author": "TJ Holowaychuk <tj@learnboost.com>",
|
|
@@ -15,4 +15,4 @@
|
|
|
15
15
|
"test": "mocha --require should --reporter spec"
|
|
16
16
|
},
|
|
17
17
|
"main": "index"
|
|
18
|
-
}
|
|
18
|
+
}
|
|
@@ -1,46 +1,3 @@
|
|
|
1
|
-
4.22.2 / 2026-05-011
|
|
2
|
-
==========
|
|
3
|
-
|
|
4
|
-
* fix: restore >20 array parsing for `req.query` repeated keys ([`8d09bfe6`](https://github.com/expressjs/express/commit/8d09bfe6d88983da5c3e12cfdd54782c4dc675db))
|
|
5
|
-
* This also unifies array-cap behavior across notations. Indexed notation (`a[0]=...`) was historically capped at qs's default `arrayLimit` of 20 even in older qs versions; after this change it also allows up to 1000 items.
|
|
6
|
-
* deps: qs@~6.15.1
|
|
7
|
-
* deps: body-parser@~1.20.5
|
|
8
|
-
|
|
9
|
-
4.22.1 / 2025-12-01
|
|
10
|
-
==========
|
|
11
|
-
|
|
12
|
-
* Revert security fix for [CVE-2024-51999](https://www.cve.org/CVERecord?id=CVE-2024-51999) ([GHSA-pj86-cfqh-vqx6](https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6))
|
|
13
|
-
* The prior release (4.22.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.
|
|
14
|
-
|
|
15
|
-
4.22.0 / 2025-12-01
|
|
16
|
-
==========
|
|
17
|
-
* Security fix for [CVE-2024-51999](https://www.cve.org/CVERecord?id=CVE-2024-51999) ([GHSA-pj86-cfqh-vqx6](https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6))
|
|
18
|
-
* deps: use tilde notation for dependencies
|
|
19
|
-
* deps: qs@6.14.0
|
|
20
|
-
|
|
21
|
-
4.21.2 / 2024-11-06
|
|
22
|
-
==========
|
|
23
|
-
|
|
24
|
-
* deps: path-to-regexp@0.1.12
|
|
25
|
-
- Fix backtracking protection
|
|
26
|
-
* deps: path-to-regexp@0.1.11
|
|
27
|
-
- Throws an error on invalid path values
|
|
28
|
-
|
|
29
|
-
4.21.1 / 2024-10-08
|
|
30
|
-
==========
|
|
31
|
-
|
|
32
|
-
* Backported a fix for [CVE-2024-47764](https://nvd.nist.gov/vuln/detail/CVE-2024-47764)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
4.21.0 / 2024-09-11
|
|
36
|
-
==========
|
|
37
|
-
|
|
38
|
-
* Deprecate `res.location("back")` and `res.redirect("back")` magic string
|
|
39
|
-
* deps: serve-static@1.16.2
|
|
40
|
-
* includes send@0.19.0
|
|
41
|
-
* deps: finalhandler@1.3.1
|
|
42
|
-
* deps: qs@6.13.0
|
|
43
|
-
|
|
44
1
|
4.20.0 / 2024-09-10
|
|
45
2
|
==========
|
|
46
3
|
* deps: serve-static@0.16.0
|
|
@@ -916,7 +916,6 @@ res.location = function location(url) {
|
|
|
916
916
|
|
|
917
917
|
// "back" is an alias for the referrer
|
|
918
918
|
if (url === 'back') {
|
|
919
|
-
deprecate('res.location("back"): use res.location(req.get("Referrer") || "/") and refer to https://dub.sh/security-redirect for best practices');
|
|
920
919
|
loc = this.req.get('Referrer') || '/';
|
|
921
920
|
} else {
|
|
922
921
|
loc = String(url);
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
root = true
|
|
2
|
+
|
|
3
|
+
[*]
|
|
4
|
+
indent_style = space
|
|
5
|
+
indent_size = 4
|
|
6
|
+
end_of_line = lf
|
|
7
|
+
charset = utf-8
|
|
8
|
+
trim_trailing_whitespace = true
|
|
9
|
+
insert_final_newline = true
|
|
10
|
+
max_line_length = 160
|
|
11
|
+
quote_type = single
|
|
12
|
+
|
|
13
|
+
[test/*]
|
|
14
|
+
max_line_length = off
|
|
15
|
+
|
|
16
|
+
[LICENSE.md]
|
|
17
|
+
indent_size = off
|
|
18
|
+
|
|
19
|
+
[*.md]
|
|
20
|
+
max_line_length = off
|
|
21
|
+
|
|
22
|
+
[*.json]
|
|
23
|
+
max_line_length = off
|
|
24
|
+
|
|
25
|
+
[Makefile]
|
|
26
|
+
max_line_length = off
|
|
27
|
+
|
|
28
|
+
[CHANGELOG.md]
|
|
29
|
+
indent_style = space
|
|
30
|
+
indent_size = 2
|
|
31
|
+
|
|
32
|
+
[LICENSE]
|
|
33
|
+
indent_size = 2
|
|
34
|
+
max_line_length = off
|
|
35
|
+
|
|
36
|
+
[coverage/**/*]
|
|
37
|
+
indent_size = off
|
|
38
|
+
indent_style = off
|
|
39
|
+
indent = off
|
|
40
|
+
max_line_length = off
|
|
41
|
+
|
|
42
|
+
[.nycrc]
|
|
43
|
+
indent_style = tab
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"root": true,
|
|
3
|
+
|
|
4
|
+
"extends": "@ljharb",
|
|
5
|
+
|
|
6
|
+
"ignorePatterns": [
|
|
7
|
+
"dist/",
|
|
8
|
+
],
|
|
9
|
+
|
|
10
|
+
"rules": {
|
|
11
|
+
"complexity": 0,
|
|
12
|
+
"consistent-return": 1,
|
|
13
|
+
"func-name-matching": 0,
|
|
14
|
+
"id-length": [2, { "min": 1, "max": 25, "properties": "never" }],
|
|
15
|
+
"indent": [2, 4],
|
|
16
|
+
"max-lines-per-function": [2, { "max": 150 }],
|
|
17
|
+
"max-params": [2, 16],
|
|
18
|
+
"max-statements": [2, 53],
|
|
19
|
+
"multiline-comment-style": 0,
|
|
20
|
+
"no-continue": 1,
|
|
21
|
+
"no-magic-numbers": 0,
|
|
22
|
+
"no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"],
|
|
23
|
+
},
|
|
24
|
+
|
|
25
|
+
"overrides": [
|
|
26
|
+
{
|
|
27
|
+
"files": "test/**",
|
|
28
|
+
"rules": {
|
|
29
|
+
"function-paren-newline": 0,
|
|
30
|
+
"max-lines-per-function": 0,
|
|
31
|
+
"max-statements": 0,
|
|
32
|
+
"no-buffer-constructor": 0,
|
|
33
|
+
"no-extend-native": 0,
|
|
34
|
+
"no-throw-literal": 0,
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# These are supported funding model platforms
|
|
2
|
+
|
|
3
|
+
github: [ljharb]
|
|
4
|
+
patreon: # Replace with a single Patreon username
|
|
5
|
+
open_collective: # Replace with a single Open Collective username
|
|
6
|
+
ko_fi: # Replace with a single Ko-fi username
|
|
7
|
+
tidelift: npm/qs
|
|
8
|
+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
|
9
|
+
liberapay: # Replace with a single Liberapay username
|
|
10
|
+
issuehunt: # Replace with a single IssueHunt username
|
|
11
|
+
otechie: # Replace with a single Otechie username
|
|
12
|
+
custom: # Replace with a single custom sponsorship URL
|