elysia 1.4.28 → 1.4.29
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.
|
@@ -61,8 +61,9 @@ c.body={}
|
|
|
61
61
|
`, fnLiteral + `const dangerousKeys=new Set(['__proto__','constructor','prototype'])
|
|
62
62
|
const isDangerousKey=(k)=>{if(dangerousKeys.has(k))return true;const m=k.match(/^(.+)\\[(\\d+)\\]$/);return m?dangerousKeys.has(m[1]):false}
|
|
63
63
|
const parseArrayKey=(k)=>{const m=k.match(/^(.+)\\[(\\d+)\\]$/);return m?{name:m[1],index:parseInt(m[2],10)}:null}
|
|
64
|
-
|
|
65
|
-
const
|
|
64
|
+
const grouped=new Map()
|
|
65
|
+
form.forEach((v,k)=>{const l=grouped.get(k);if(l)l.push(v);else grouped.set(k,[v])})
|
|
66
|
+
for(const [key,value] of grouped){if(c.body[key])continue
|
|
66
67
|
let finalValue
|
|
67
68
|
if(value.length===1){
|
|
68
69
|
const sv=value[0]
|
|
@@ -46,8 +46,9 @@ c.body={}
|
|
|
46
46
|
`, fnLiteral + `const dangerousKeys=new Set(['__proto__','constructor','prototype'])
|
|
47
47
|
const isDangerousKey=(k)=>{if(dangerousKeys.has(k))return true;const m=k.match(/^(.+)\\[(\\d+)\\]$/);return m?dangerousKeys.has(m[1]):false}
|
|
48
48
|
const parseArrayKey=(k)=>{const m=k.match(/^(.+)\\[(\\d+)\\]$/);return m?{name:m[1],index:parseInt(m[2],10)}:null}
|
|
49
|
-
|
|
50
|
-
const
|
|
49
|
+
const grouped=new Map()
|
|
50
|
+
form.forEach((v,k)=>{const l=grouped.get(k);if(l)l.push(v);else grouped.set(k,[v])})
|
|
51
|
+
for(const [key,value] of grouped){if(c.body[key])continue
|
|
51
52
|
let finalValue
|
|
52
53
|
if(value.length===1){
|
|
53
54
|
const sv=value[0]
|
package/dist/dynamic-handle.js
CHANGED
|
@@ -142,10 +142,14 @@ const ARRAY_INDEX_REGEX = /^(.+)\[(\d+)\]$/, DANGEROUS_KEYS = /* @__PURE__ */ ne
|
|
|
142
142
|
break;
|
|
143
143
|
case "multipart/form-data": {
|
|
144
144
|
body = {};
|
|
145
|
-
const form = await request.formData();
|
|
146
|
-
|
|
145
|
+
const form = await request.formData(), grouped = /* @__PURE__ */ new Map();
|
|
146
|
+
form.forEach((v, k) => {
|
|
147
|
+
const list = grouped.get(k);
|
|
148
|
+
list ? list.push(v) : grouped.set(k, [v]);
|
|
149
|
+
});
|
|
150
|
+
for (const [key, value] of grouped) {
|
|
147
151
|
if (body[key]) continue;
|
|
148
|
-
const
|
|
152
|
+
const finalValue = normalizeFormValue(value);
|
|
149
153
|
key.includes(".") || key.includes("[") ? setNestedValue(body, key, finalValue) : body[key] = finalValue;
|
|
150
154
|
}
|
|
151
155
|
break;
|
|
@@ -181,10 +185,14 @@ const ARRAY_INDEX_REGEX = /^(.+)\[(\d+)\]$/, DANGEROUS_KEYS = /* @__PURE__ */ ne
|
|
|
181
185
|
case "formdata":
|
|
182
186
|
case "multipart/form-data": {
|
|
183
187
|
body = {};
|
|
184
|
-
const form = await request.formData();
|
|
185
|
-
|
|
188
|
+
const form = await request.formData(), grouped = /* @__PURE__ */ new Map();
|
|
189
|
+
form.forEach((v, k) => {
|
|
190
|
+
const list = grouped.get(k);
|
|
191
|
+
list ? list.push(v) : grouped.set(k, [v]);
|
|
192
|
+
});
|
|
193
|
+
for (const [key, value] of grouped) {
|
|
186
194
|
if (body[key]) continue;
|
|
187
|
-
const
|
|
195
|
+
const finalValue = normalizeFormValue(value);
|
|
188
196
|
key.includes(".") || key.includes("[") ? setNestedValue(body, key, finalValue) : body[key] = finalValue;
|
|
189
197
|
}
|
|
190
198
|
break;
|
|
@@ -228,10 +236,14 @@ const ARRAY_INDEX_REGEX = /^(.+)\[(\d+)\]$/, DANGEROUS_KEYS = /* @__PURE__ */ ne
|
|
|
228
236
|
break;
|
|
229
237
|
case "multipart/form-data": {
|
|
230
238
|
body = {};
|
|
231
|
-
const form = await request.formData();
|
|
232
|
-
|
|
239
|
+
const form = await request.formData(), grouped = /* @__PURE__ */ new Map();
|
|
240
|
+
form.forEach((v, k) => {
|
|
241
|
+
const list = grouped.get(k);
|
|
242
|
+
list ? list.push(v) : grouped.set(k, [v]);
|
|
243
|
+
});
|
|
244
|
+
for (const [key, value] of grouped) {
|
|
233
245
|
if (body[key]) continue;
|
|
234
|
-
const
|
|
246
|
+
const finalValue = normalizeFormValue(value);
|
|
235
247
|
key.includes(".") || key.includes("[") ? setNestedValue(body, key, finalValue) : body[key] = finalValue;
|
|
236
248
|
}
|
|
237
249
|
break;
|
package/dist/dynamic-handle.mjs
CHANGED
|
@@ -131,10 +131,14 @@ const ARRAY_INDEX_REGEX = /^(.+)\[(\d+)\]$/, DANGEROUS_KEYS = /* @__PURE__ */ ne
|
|
|
131
131
|
break;
|
|
132
132
|
case "multipart/form-data": {
|
|
133
133
|
body = {};
|
|
134
|
-
const form = await request.formData();
|
|
135
|
-
|
|
134
|
+
const form = await request.formData(), grouped = /* @__PURE__ */ new Map();
|
|
135
|
+
form.forEach((v, k) => {
|
|
136
|
+
const list = grouped.get(k);
|
|
137
|
+
list ? list.push(v) : grouped.set(k, [v]);
|
|
138
|
+
});
|
|
139
|
+
for (const [key, value] of grouped) {
|
|
136
140
|
if (body[key]) continue;
|
|
137
|
-
const
|
|
141
|
+
const finalValue = normalizeFormValue(value);
|
|
138
142
|
key.includes(".") || key.includes("[") ? setNestedValue(body, key, finalValue) : body[key] = finalValue;
|
|
139
143
|
}
|
|
140
144
|
break;
|
|
@@ -170,10 +174,14 @@ const ARRAY_INDEX_REGEX = /^(.+)\[(\d+)\]$/, DANGEROUS_KEYS = /* @__PURE__ */ ne
|
|
|
170
174
|
case "formdata":
|
|
171
175
|
case "multipart/form-data": {
|
|
172
176
|
body = {};
|
|
173
|
-
const form = await request.formData();
|
|
174
|
-
|
|
177
|
+
const form = await request.formData(), grouped = /* @__PURE__ */ new Map();
|
|
178
|
+
form.forEach((v, k) => {
|
|
179
|
+
const list = grouped.get(k);
|
|
180
|
+
list ? list.push(v) : grouped.set(k, [v]);
|
|
181
|
+
});
|
|
182
|
+
for (const [key, value] of grouped) {
|
|
175
183
|
if (body[key]) continue;
|
|
176
|
-
const
|
|
184
|
+
const finalValue = normalizeFormValue(value);
|
|
177
185
|
key.includes(".") || key.includes("[") ? setNestedValue(body, key, finalValue) : body[key] = finalValue;
|
|
178
186
|
}
|
|
179
187
|
break;
|
|
@@ -217,10 +225,14 @@ const ARRAY_INDEX_REGEX = /^(.+)\[(\d+)\]$/, DANGEROUS_KEYS = /* @__PURE__ */ ne
|
|
|
217
225
|
break;
|
|
218
226
|
case "multipart/form-data": {
|
|
219
227
|
body = {};
|
|
220
|
-
const form = await request.formData();
|
|
221
|
-
|
|
228
|
+
const form = await request.formData(), grouped = /* @__PURE__ */ new Map();
|
|
229
|
+
form.forEach((v, k) => {
|
|
230
|
+
const list = grouped.get(k);
|
|
231
|
+
list ? list.push(v) : grouped.set(k, [v]);
|
|
232
|
+
});
|
|
233
|
+
for (const [key, value] of grouped) {
|
|
222
234
|
if (body[key]) continue;
|
|
223
|
-
const
|
|
235
|
+
const finalValue = normalizeFormValue(value);
|
|
224
236
|
key.includes(".") || key.includes("[") ? setNestedValue(body, key, finalValue) : body[key] = finalValue;
|
|
225
237
|
}
|
|
226
238
|
break;
|