@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
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ollama",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.3",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "ollama",
|
|
9
|
-
"version": "0.9.
|
|
9
|
+
"version": "0.9.3",
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"axios": "
|
|
11
|
+
"axios": "1.16.1",
|
|
12
12
|
"cors": "^2.8.5",
|
|
13
13
|
"dotenv": "^16.6.1",
|
|
14
|
-
"express": "
|
|
14
|
+
"express": "4.20.0",
|
|
15
15
|
"helmet": "^7.0.0",
|
|
16
16
|
"morgan": "^1.10.0"
|
|
17
17
|
},
|
|
@@ -80,9 +80,9 @@
|
|
|
80
80
|
"license": "MIT"
|
|
81
81
|
},
|
|
82
82
|
"node_modules/axios": {
|
|
83
|
-
"version": "1.
|
|
84
|
-
"resolved": "https://registry.npmjs.org/axios/-/axios-1.
|
|
85
|
-
"integrity": "sha512-
|
|
83
|
+
"version": "1.16.1",
|
|
84
|
+
"resolved": "https://registry.npmjs.org/axios/-/axios-1.16.1.tgz",
|
|
85
|
+
"integrity": "sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==",
|
|
86
86
|
"license": "MIT",
|
|
87
87
|
"dependencies": {
|
|
88
88
|
"follow-redirects": "^1.16.0",
|
|
@@ -110,23 +110,23 @@
|
|
|
110
110
|
"license": "MIT"
|
|
111
111
|
},
|
|
112
112
|
"node_modules/body-parser": {
|
|
113
|
-
"version": "1.20.
|
|
114
|
-
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.
|
|
115
|
-
"integrity": "sha512-
|
|
113
|
+
"version": "1.20.3",
|
|
114
|
+
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
|
|
115
|
+
"integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
|
|
116
116
|
"license": "MIT",
|
|
117
117
|
"dependencies": {
|
|
118
|
-
"bytes": "
|
|
118
|
+
"bytes": "3.1.2",
|
|
119
119
|
"content-type": "~1.0.5",
|
|
120
120
|
"debug": "2.6.9",
|
|
121
121
|
"depd": "2.0.0",
|
|
122
|
-
"destroy": "
|
|
123
|
-
"http-errors": "
|
|
124
|
-
"iconv-lite": "
|
|
125
|
-
"on-finished": "
|
|
126
|
-
"qs": "
|
|
127
|
-
"raw-body": "
|
|
122
|
+
"destroy": "1.2.0",
|
|
123
|
+
"http-errors": "2.0.0",
|
|
124
|
+
"iconv-lite": "0.4.24",
|
|
125
|
+
"on-finished": "2.4.1",
|
|
126
|
+
"qs": "6.13.0",
|
|
127
|
+
"raw-body": "2.5.2",
|
|
128
128
|
"type-is": "~1.6.18",
|
|
129
|
-
"unpipe": "
|
|
129
|
+
"unpipe": "1.0.0"
|
|
130
130
|
},
|
|
131
131
|
"engines": {
|
|
132
132
|
"node": ">= 0.8",
|
|
@@ -205,18 +205,18 @@
|
|
|
205
205
|
}
|
|
206
206
|
},
|
|
207
207
|
"node_modules/cookie": {
|
|
208
|
-
"version": "0.7.
|
|
209
|
-
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.
|
|
210
|
-
"integrity": "sha512-
|
|
208
|
+
"version": "0.7.0",
|
|
209
|
+
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.0.tgz",
|
|
210
|
+
"integrity": "sha512-qCf+V4dtlNhSRXGAZatc1TasyFO6GjohcOul807YOb5ik3+kQSnb4d7iajeCL8QHaJ4uZEjCgiCJerKXwdRVlQ==",
|
|
211
211
|
"license": "MIT",
|
|
212
212
|
"engines": {
|
|
213
213
|
"node": ">= 0.6"
|
|
214
214
|
}
|
|
215
215
|
},
|
|
216
216
|
"node_modules/cookie-signature": {
|
|
217
|
-
"version": "1.0.
|
|
218
|
-
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.
|
|
219
|
-
"integrity": "sha512-
|
|
217
|
+
"version": "1.0.6",
|
|
218
|
+
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
|
|
219
|
+
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
|
|
220
220
|
"license": "MIT"
|
|
221
221
|
},
|
|
222
222
|
"node_modules/cors": {
|
|
@@ -375,69 +375,74 @@
|
|
|
375
375
|
}
|
|
376
376
|
},
|
|
377
377
|
"node_modules/express": {
|
|
378
|
-
"version": "4.
|
|
379
|
-
"resolved": "https://registry.npmjs.org/express/-/express-4.
|
|
380
|
-
"integrity": "sha512-
|
|
378
|
+
"version": "4.20.0",
|
|
379
|
+
"resolved": "https://registry.npmjs.org/express/-/express-4.20.0.tgz",
|
|
380
|
+
"integrity": "sha512-pLdae7I6QqShF5PnNTCVn4hI91Dx0Grkn2+IAsMTgMIKuQVte2dN9PeGSSAME2FR8anOhVA62QDIUaWVfEXVLw==",
|
|
381
381
|
"license": "MIT",
|
|
382
382
|
"dependencies": {
|
|
383
383
|
"accepts": "~1.3.8",
|
|
384
384
|
"array-flatten": "1.1.1",
|
|
385
|
-
"body-parser": "
|
|
386
|
-
"content-disposition": "
|
|
385
|
+
"body-parser": "1.20.3",
|
|
386
|
+
"content-disposition": "0.5.4",
|
|
387
387
|
"content-type": "~1.0.4",
|
|
388
|
-
"cookie": "
|
|
389
|
-
"cookie-signature": "
|
|
388
|
+
"cookie": "0.6.0",
|
|
389
|
+
"cookie-signature": "1.0.6",
|
|
390
390
|
"debug": "2.6.9",
|
|
391
391
|
"depd": "2.0.0",
|
|
392
392
|
"encodeurl": "~2.0.0",
|
|
393
393
|
"escape-html": "~1.0.3",
|
|
394
394
|
"etag": "~1.8.1",
|
|
395
|
-
"finalhandler": "
|
|
396
|
-
"fresh": "
|
|
397
|
-
"http-errors": "
|
|
395
|
+
"finalhandler": "1.2.0",
|
|
396
|
+
"fresh": "0.5.2",
|
|
397
|
+
"http-errors": "2.0.0",
|
|
398
398
|
"merge-descriptors": "1.0.3",
|
|
399
399
|
"methods": "~1.1.2",
|
|
400
|
-
"on-finished": "
|
|
400
|
+
"on-finished": "2.4.1",
|
|
401
401
|
"parseurl": "~1.3.3",
|
|
402
|
-
"path-to-regexp": "
|
|
402
|
+
"path-to-regexp": "0.1.10",
|
|
403
403
|
"proxy-addr": "~2.0.7",
|
|
404
|
-
"qs": "
|
|
404
|
+
"qs": "6.11.0",
|
|
405
405
|
"range-parser": "~1.2.1",
|
|
406
406
|
"safe-buffer": "5.2.1",
|
|
407
|
-
"send": "
|
|
408
|
-
"serve-static": "
|
|
407
|
+
"send": "0.19.0",
|
|
408
|
+
"serve-static": "1.16.0",
|
|
409
409
|
"setprototypeof": "1.2.0",
|
|
410
|
-
"statuses": "
|
|
410
|
+
"statuses": "2.0.1",
|
|
411
411
|
"type-is": "~1.6.18",
|
|
412
412
|
"utils-merge": "1.0.1",
|
|
413
413
|
"vary": "~1.1.2"
|
|
414
414
|
},
|
|
415
415
|
"engines": {
|
|
416
416
|
"node": ">= 0.10.0"
|
|
417
|
-
},
|
|
418
|
-
"funding": {
|
|
419
|
-
"type": "opencollective",
|
|
420
|
-
"url": "https://opencollective.com/express"
|
|
421
417
|
}
|
|
422
418
|
},
|
|
423
419
|
"node_modules/finalhandler": {
|
|
424
|
-
"version": "1.
|
|
425
|
-
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.
|
|
426
|
-
"integrity": "sha512-
|
|
420
|
+
"version": "1.2.0",
|
|
421
|
+
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
|
|
422
|
+
"integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
|
|
427
423
|
"license": "MIT",
|
|
428
424
|
"dependencies": {
|
|
429
425
|
"debug": "2.6.9",
|
|
430
|
-
"encodeurl": "~
|
|
426
|
+
"encodeurl": "~1.0.2",
|
|
431
427
|
"escape-html": "~1.0.3",
|
|
432
|
-
"on-finished": "
|
|
428
|
+
"on-finished": "2.4.1",
|
|
433
429
|
"parseurl": "~1.3.3",
|
|
434
|
-
"statuses": "
|
|
430
|
+
"statuses": "2.0.1",
|
|
435
431
|
"unpipe": "~1.0.0"
|
|
436
432
|
},
|
|
437
433
|
"engines": {
|
|
438
434
|
"node": ">= 0.8"
|
|
439
435
|
}
|
|
440
436
|
},
|
|
437
|
+
"node_modules/finalhandler/node_modules/encodeurl": {
|
|
438
|
+
"version": "1.0.2",
|
|
439
|
+
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
|
440
|
+
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
|
|
441
|
+
"license": "MIT",
|
|
442
|
+
"engines": {
|
|
443
|
+
"node": ">= 0.8"
|
|
444
|
+
}
|
|
445
|
+
},
|
|
441
446
|
"node_modules/follow-redirects": {
|
|
442
447
|
"version": "1.16.0",
|
|
443
448
|
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz",
|
|
@@ -599,23 +604,19 @@
|
|
|
599
604
|
}
|
|
600
605
|
},
|
|
601
606
|
"node_modules/http-errors": {
|
|
602
|
-
"version": "2.0.
|
|
603
|
-
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.
|
|
604
|
-
"integrity": "sha512-
|
|
607
|
+
"version": "2.0.0",
|
|
608
|
+
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
|
|
609
|
+
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
|
|
605
610
|
"license": "MIT",
|
|
606
611
|
"dependencies": {
|
|
607
|
-
"depd": "
|
|
608
|
-
"inherits": "
|
|
609
|
-
"setprototypeof": "
|
|
610
|
-
"statuses": "
|
|
611
|
-
"toidentifier": "
|
|
612
|
+
"depd": "2.0.0",
|
|
613
|
+
"inherits": "2.0.4",
|
|
614
|
+
"setprototypeof": "1.2.0",
|
|
615
|
+
"statuses": "2.0.1",
|
|
616
|
+
"toidentifier": "1.0.1"
|
|
612
617
|
},
|
|
613
618
|
"engines": {
|
|
614
619
|
"node": ">= 0.8"
|
|
615
|
-
},
|
|
616
|
-
"funding": {
|
|
617
|
-
"type": "opencollective",
|
|
618
|
-
"url": "https://opencollective.com/express"
|
|
619
620
|
}
|
|
620
621
|
},
|
|
621
622
|
"node_modules/https-proxy-agent": {
|
|
@@ -865,9 +866,9 @@
|
|
|
865
866
|
}
|
|
866
867
|
},
|
|
867
868
|
"node_modules/qs": {
|
|
868
|
-
"version": "6.15.
|
|
869
|
-
"resolved": "https://registry.npmjs.org/qs/-/qs-6.15.
|
|
870
|
-
"integrity": "sha512-
|
|
869
|
+
"version": "6.15.0",
|
|
870
|
+
"resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz",
|
|
871
|
+
"integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==",
|
|
871
872
|
"license": "BSD-3-Clause",
|
|
872
873
|
"dependencies": {
|
|
873
874
|
"side-channel": "^1.1.0"
|
|
@@ -889,15 +890,15 @@
|
|
|
889
890
|
}
|
|
890
891
|
},
|
|
891
892
|
"node_modules/raw-body": {
|
|
892
|
-
"version": "2.5.
|
|
893
|
-
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.
|
|
894
|
-
"integrity": "sha512-
|
|
893
|
+
"version": "2.5.2",
|
|
894
|
+
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
|
|
895
|
+
"integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
|
|
895
896
|
"license": "MIT",
|
|
896
897
|
"dependencies": {
|
|
897
|
-
"bytes": "
|
|
898
|
-
"http-errors": "
|
|
899
|
-
"iconv-lite": "
|
|
900
|
-
"unpipe": "
|
|
898
|
+
"bytes": "3.1.2",
|
|
899
|
+
"http-errors": "2.0.0",
|
|
900
|
+
"iconv-lite": "0.4.24",
|
|
901
|
+
"unpipe": "1.0.0"
|
|
901
902
|
},
|
|
902
903
|
"engines": {
|
|
903
904
|
"node": ">= 0.8"
|
|
@@ -930,29 +931,38 @@
|
|
|
930
931
|
"license": "MIT"
|
|
931
932
|
},
|
|
932
933
|
"node_modules/send": {
|
|
933
|
-
"version": "0.19.
|
|
934
|
-
"resolved": "https://registry.npmjs.org/send/-/send-0.19.
|
|
935
|
-
"integrity": "sha512-
|
|
934
|
+
"version": "0.19.0",
|
|
935
|
+
"resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
|
|
936
|
+
"integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
|
|
936
937
|
"license": "MIT",
|
|
937
938
|
"dependencies": {
|
|
938
939
|
"debug": "2.6.9",
|
|
939
940
|
"depd": "2.0.0",
|
|
940
941
|
"destroy": "1.2.0",
|
|
941
|
-
"encodeurl": "~
|
|
942
|
+
"encodeurl": "~1.0.2",
|
|
942
943
|
"escape-html": "~1.0.3",
|
|
943
944
|
"etag": "~1.8.1",
|
|
944
|
-
"fresh": "
|
|
945
|
-
"http-errors": "
|
|
945
|
+
"fresh": "0.5.2",
|
|
946
|
+
"http-errors": "2.0.0",
|
|
946
947
|
"mime": "1.6.0",
|
|
947
948
|
"ms": "2.1.3",
|
|
948
|
-
"on-finished": "
|
|
949
|
+
"on-finished": "2.4.1",
|
|
949
950
|
"range-parser": "~1.2.1",
|
|
950
|
-
"statuses": "
|
|
951
|
+
"statuses": "2.0.1"
|
|
951
952
|
},
|
|
952
953
|
"engines": {
|
|
953
954
|
"node": ">= 0.8.0"
|
|
954
955
|
}
|
|
955
956
|
},
|
|
957
|
+
"node_modules/send/node_modules/encodeurl": {
|
|
958
|
+
"version": "1.0.2",
|
|
959
|
+
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
|
960
|
+
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
|
|
961
|
+
"license": "MIT",
|
|
962
|
+
"engines": {
|
|
963
|
+
"node": ">= 0.8"
|
|
964
|
+
}
|
|
965
|
+
},
|
|
956
966
|
"node_modules/send/node_modules/ms": {
|
|
957
967
|
"version": "2.1.3",
|
|
958
968
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
|
@@ -960,20 +970,29 @@
|
|
|
960
970
|
"license": "MIT"
|
|
961
971
|
},
|
|
962
972
|
"node_modules/serve-static": {
|
|
963
|
-
"version": "1.16.
|
|
964
|
-
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.
|
|
965
|
-
"integrity": "sha512-
|
|
973
|
+
"version": "1.16.0",
|
|
974
|
+
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.0.tgz",
|
|
975
|
+
"integrity": "sha512-pDLK8zwl2eKaYrs8mrPZBJua4hMplRWJ1tIFksVC3FtBEBnl8dxgeHtsaMS8DhS9i4fLObaon6ABoc4/hQGdPA==",
|
|
966
976
|
"license": "MIT",
|
|
967
977
|
"dependencies": {
|
|
968
|
-
"encodeurl": "~
|
|
978
|
+
"encodeurl": "~1.0.2",
|
|
969
979
|
"escape-html": "~1.0.3",
|
|
970
980
|
"parseurl": "~1.3.3",
|
|
971
|
-
"send": "
|
|
981
|
+
"send": "0.18.0"
|
|
972
982
|
},
|
|
973
983
|
"engines": {
|
|
974
984
|
"node": ">= 0.8.0"
|
|
975
985
|
}
|
|
976
986
|
},
|
|
987
|
+
"node_modules/serve-static/node_modules/encodeurl": {
|
|
988
|
+
"version": "1.0.2",
|
|
989
|
+
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
|
990
|
+
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
|
|
991
|
+
"license": "MIT",
|
|
992
|
+
"engines": {
|
|
993
|
+
"node": ">= 0.8"
|
|
994
|
+
}
|
|
995
|
+
},
|
|
977
996
|
"node_modules/setprototypeof": {
|
|
978
997
|
"version": "1.2.0",
|
|
979
998
|
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
|
|
@@ -1053,9 +1072,9 @@
|
|
|
1053
1072
|
}
|
|
1054
1073
|
},
|
|
1055
1074
|
"node_modules/statuses": {
|
|
1056
|
-
"version": "2.0.
|
|
1057
|
-
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.
|
|
1058
|
-
"integrity": "sha512-
|
|
1075
|
+
"version": "2.0.1",
|
|
1076
|
+
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
|
|
1077
|
+
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
|
|
1059
1078
|
"license": "MIT",
|
|
1060
1079
|
"engines": {
|
|
1061
1080
|
"node": ">= 0.8"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ollama",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.3",
|
|
4
4
|
"description": "Ollama API compatibility server for SAP AI Core proxy",
|
|
5
5
|
"private": true,
|
|
6
6
|
"main": "index.js",
|
|
@@ -8,12 +8,32 @@
|
|
|
8
8
|
"node": ">=20.0.0"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"axios": "
|
|
11
|
+
"axios": "1.16.1",
|
|
12
12
|
"cors": "^2.8.5",
|
|
13
13
|
"dotenv": "^16.6.1",
|
|
14
|
-
"express": "
|
|
14
|
+
"express": "4.20.0",
|
|
15
15
|
"helmet": "^7.0.0",
|
|
16
16
|
"morgan": "^1.10.0"
|
|
17
17
|
},
|
|
18
|
-
"optionalDependencies": {}
|
|
18
|
+
"optionalDependencies": {},
|
|
19
|
+
"overrides": {
|
|
20
|
+
"body-parser": "1.20.3",
|
|
21
|
+
"path-to-regexp": "0.1.13",
|
|
22
|
+
"router": "1.3.8",
|
|
23
|
+
"qs": "6.15.0",
|
|
24
|
+
"cookie": "0.7.0",
|
|
25
|
+
"send": "0.19.0",
|
|
26
|
+
"serve-static": "1.16.0",
|
|
27
|
+
"tmp": "0.2.4",
|
|
28
|
+
"got": ">=11.8.5",
|
|
29
|
+
"tar": ">=7.5.2",
|
|
30
|
+
"js-yaml": ">=4.1.1",
|
|
31
|
+
"minimatch": ">=9.0.6",
|
|
32
|
+
"follow-redirects": ">=1.16.0",
|
|
33
|
+
"@cap-js/sqlite": "2.0.4",
|
|
34
|
+
"@cap-js/postgres": "1.14.2",
|
|
35
|
+
"@cap-js/db-service": "<=2.6.0",
|
|
36
|
+
"jws": "3.2.3",
|
|
37
|
+
"fast-uri": "3.1.2"
|
|
38
|
+
}
|
|
19
39
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@st-gr/sail-proxy",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.3",
|
|
4
4
|
"description": "SAP AI Core Local LLM Proxy - A command-line tool to run a local proxy for SAP AI Core Foundation Models",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sap",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"@sap-llm-gateway/service-key-parser"
|
|
66
66
|
],
|
|
67
67
|
"dependencies": {
|
|
68
|
-
"@sap-llm-gateway/service-key-parser": "0.9.
|
|
68
|
+
"@sap-llm-gateway/service-key-parser": "0.9.3",
|
|
69
69
|
"axios": "^1.15.1",
|
|
70
70
|
"chalk": "^4.1.2",
|
|
71
71
|
"commander": "^14.0.0",
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// Node-only: relies on the built-in `http2` module. Browser/react-native
|
|
4
|
-
// builds replace `lib/adapters/http.js` (the sole importer) with `lib/helpers/null.js`
|
|
5
|
-
// via the `browser` package.json field, so this module is never reached in
|
|
6
|
-
// those environments. Do not import it from any browser-reachable code path.
|
|
7
|
-
|
|
8
|
-
import http2 from 'http2';
|
|
9
|
-
import util from 'util';
|
|
10
|
-
|
|
11
|
-
class Http2Sessions {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.sessions = Object.create(null);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
getSession(authority, options) {
|
|
17
|
-
options = Object.assign(
|
|
18
|
-
{
|
|
19
|
-
sessionTimeout: 1000,
|
|
20
|
-
},
|
|
21
|
-
options
|
|
22
|
-
);
|
|
23
|
-
|
|
24
|
-
let authoritySessions = this.sessions[authority];
|
|
25
|
-
|
|
26
|
-
if (authoritySessions) {
|
|
27
|
-
let len = authoritySessions.length;
|
|
28
|
-
|
|
29
|
-
for (let i = 0; i < len; i++) {
|
|
30
|
-
const [sessionHandle, sessionOptions] = authoritySessions[i];
|
|
31
|
-
if (
|
|
32
|
-
!sessionHandle.destroyed &&
|
|
33
|
-
!sessionHandle.closed &&
|
|
34
|
-
util.isDeepStrictEqual(sessionOptions, options)
|
|
35
|
-
) {
|
|
36
|
-
return sessionHandle;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
const session = http2.connect(authority, options);
|
|
42
|
-
|
|
43
|
-
let removed;
|
|
44
|
-
let timer;
|
|
45
|
-
|
|
46
|
-
const removeSession = () => {
|
|
47
|
-
if (removed) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
removed = true;
|
|
52
|
-
|
|
53
|
-
if (timer) {
|
|
54
|
-
clearTimeout(timer);
|
|
55
|
-
timer = null;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
let entries = authoritySessions,
|
|
59
|
-
len = entries.length,
|
|
60
|
-
i = len;
|
|
61
|
-
|
|
62
|
-
while (i--) {
|
|
63
|
-
if (entries[i][0] === session) {
|
|
64
|
-
if (len === 1) {
|
|
65
|
-
delete this.sessions[authority];
|
|
66
|
-
} else {
|
|
67
|
-
entries.splice(i, 1);
|
|
68
|
-
}
|
|
69
|
-
if (!session.closed) {
|
|
70
|
-
session.close();
|
|
71
|
-
}
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
const originalRequestFn = session.request;
|
|
78
|
-
|
|
79
|
-
const { sessionTimeout } = options;
|
|
80
|
-
|
|
81
|
-
if (sessionTimeout != null) {
|
|
82
|
-
let streamsCount = 0;
|
|
83
|
-
|
|
84
|
-
session.request = function () {
|
|
85
|
-
const stream = originalRequestFn.apply(this, arguments);
|
|
86
|
-
|
|
87
|
-
streamsCount++;
|
|
88
|
-
|
|
89
|
-
if (timer) {
|
|
90
|
-
clearTimeout(timer);
|
|
91
|
-
timer = null;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
stream.once('close', () => {
|
|
95
|
-
if (!--streamsCount) {
|
|
96
|
-
timer = setTimeout(() => {
|
|
97
|
-
timer = null;
|
|
98
|
-
removeSession();
|
|
99
|
-
}, sessionTimeout);
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
return stream;
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
session.once('close', removeSession);
|
|
108
|
-
|
|
109
|
-
let entry = [session, options];
|
|
110
|
-
|
|
111
|
-
authoritySessions
|
|
112
|
-
? authoritySessions.push(entry)
|
|
113
|
-
: (authoritySessions = this.sessions[authority] = [entry]);
|
|
114
|
-
|
|
115
|
-
return session;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
export default Http2Sessions;
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// Node-only: relies on the built-in `http2` module. Browser/react-native
|
|
4
|
-
// builds replace `lib/adapters/http.js` (the sole importer) with `lib/helpers/null.js`
|
|
5
|
-
// via the `browser` package.json field, so this module is never reached in
|
|
6
|
-
// those environments. Do not import it from any browser-reachable code path.
|
|
7
|
-
|
|
8
|
-
import http2 from 'http2';
|
|
9
|
-
import util from 'util';
|
|
10
|
-
|
|
11
|
-
class Http2Sessions {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.sessions = Object.create(null);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
getSession(authority, options) {
|
|
17
|
-
options = Object.assign(
|
|
18
|
-
{
|
|
19
|
-
sessionTimeout: 1000,
|
|
20
|
-
},
|
|
21
|
-
options
|
|
22
|
-
);
|
|
23
|
-
|
|
24
|
-
let authoritySessions = this.sessions[authority];
|
|
25
|
-
|
|
26
|
-
if (authoritySessions) {
|
|
27
|
-
let len = authoritySessions.length;
|
|
28
|
-
|
|
29
|
-
for (let i = 0; i < len; i++) {
|
|
30
|
-
const [sessionHandle, sessionOptions] = authoritySessions[i];
|
|
31
|
-
if (
|
|
32
|
-
!sessionHandle.destroyed &&
|
|
33
|
-
!sessionHandle.closed &&
|
|
34
|
-
util.isDeepStrictEqual(sessionOptions, options)
|
|
35
|
-
) {
|
|
36
|
-
return sessionHandle;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
const session = http2.connect(authority, options);
|
|
42
|
-
|
|
43
|
-
let removed;
|
|
44
|
-
let timer;
|
|
45
|
-
|
|
46
|
-
const removeSession = () => {
|
|
47
|
-
if (removed) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
removed = true;
|
|
52
|
-
|
|
53
|
-
if (timer) {
|
|
54
|
-
clearTimeout(timer);
|
|
55
|
-
timer = null;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
let entries = authoritySessions,
|
|
59
|
-
len = entries.length,
|
|
60
|
-
i = len;
|
|
61
|
-
|
|
62
|
-
while (i--) {
|
|
63
|
-
if (entries[i][0] === session) {
|
|
64
|
-
if (len === 1) {
|
|
65
|
-
delete this.sessions[authority];
|
|
66
|
-
} else {
|
|
67
|
-
entries.splice(i, 1);
|
|
68
|
-
}
|
|
69
|
-
if (!session.closed) {
|
|
70
|
-
session.close();
|
|
71
|
-
}
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
const originalRequestFn = session.request;
|
|
78
|
-
|
|
79
|
-
const { sessionTimeout } = options;
|
|
80
|
-
|
|
81
|
-
if (sessionTimeout != null) {
|
|
82
|
-
let streamsCount = 0;
|
|
83
|
-
|
|
84
|
-
session.request = function () {
|
|
85
|
-
const stream = originalRequestFn.apply(this, arguments);
|
|
86
|
-
|
|
87
|
-
streamsCount++;
|
|
88
|
-
|
|
89
|
-
if (timer) {
|
|
90
|
-
clearTimeout(timer);
|
|
91
|
-
timer = null;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
stream.once('close', () => {
|
|
95
|
-
if (!--streamsCount) {
|
|
96
|
-
timer = setTimeout(() => {
|
|
97
|
-
timer = null;
|
|
98
|
-
removeSession();
|
|
99
|
-
}, sessionTimeout);
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
return stream;
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
session.once('close', removeSession);
|
|
108
|
-
|
|
109
|
-
let entry = [session, options];
|
|
110
|
-
|
|
111
|
-
authoritySessions
|
|
112
|
-
? authoritySessions.push(entry)
|
|
113
|
-
: (authoritySessions = this.sessions[authority] = [entry]);
|
|
114
|
-
|
|
115
|
-
return session;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
export default Http2Sessions;
|