Skip to content

Commit 3377f2f

Browse files
committed
feat: 支持使用脚本删除响应头字段
1 parent a7e340d commit 3377f2f

4 files changed

Lines changed: 21 additions & 4 deletions

File tree

backend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sub-store",
3-
"version": "2.21.2",
3+
"version": "2.21.3",
44
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and Shadowrocket.",
55
"main": "src/main.js",
66
"scripts": {

backend/src/restful/download.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,11 @@ async function downloadSubscription(req, res) {
364364
if ($options?._res?.headers) {
365365
Object.entries($options._res.headers).forEach(
366366
([key, value]) => {
367-
res.set(key, value);
367+
if (value == null) {
368+
res.removeHeader(key);
369+
} else {
370+
res.set(key, value);
371+
}
368372
},
369373
);
370374
}
@@ -650,7 +654,11 @@ async function downloadCollection(req, res) {
650654
if ($options?._res?.headers) {
651655
Object.entries($options._res.headers).forEach(
652656
([key, value]) => {
653-
res.set(key, value);
657+
if (value == null) {
658+
res.removeHeader(key);
659+
} else {
660+
res.set(key, value);
661+
}
654662
},
655663
);
656664
}

backend/src/restful/file.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,11 @@ async function getFile(req, res, next) {
193193
if (output?.$options?._res?.headers) {
194194
Object.entries(output.$options._res.headers).forEach(
195195
([key, value]) => {
196-
res.set(key, value);
196+
if (value == null) {
197+
res.removeHeader(key);
198+
} else {
199+
res.set(key, value);
200+
}
197201
},
198202
);
199203
}

backend/src/vendor/express.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,11 @@ export default function express({ substore: $, port, host }) {
224224
headers[key] = val;
225225
return this;
226226
}
227+
228+
removeHeader(key) {
229+
delete headers[key];
230+
return this;
231+
}
227232
})();
228233
}
229234
}

0 commit comments

Comments
 (0)