diff --git a/backend/package.json b/backend/package.json index 820b506..3dda27a 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.19.55", + "version": "2.19.56", "description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and Shadowrocket.", "main": "src/main.js", "scripts": { diff --git a/backend/src/restful/file.js b/backend/src/restful/file.js index 4423ac3..a51d216 100644 --- a/backend/src/restful/file.js +++ b/backend/src/restful/file.js @@ -150,6 +150,7 @@ async function getFile(req, res) { proxy, noCache, produceType, + all: true, }); try { @@ -184,9 +185,15 @@ async function getFile(req, res) { )}`, ); } - res.set('Content-Type', 'text/plain; charset=utf-8').send( - output ?? '', - ); + res.set('Content-Type', 'text/plain; charset=utf-8'); + if (output?.$options?._res?.headers) { + Object.entries(output.$options._res.headers).forEach( + ([key, value]) => { + res.set(key, value); + }, + ); + } + res.send(output?.$content ?? ''); } catch (err) { $.notify( `🌍 Sub-Store 下载文件失败`, diff --git a/backend/src/restful/sync.js b/backend/src/restful/sync.js index a6ff21e..8cbd7fd 100644 --- a/backend/src/restful/sync.js +++ b/backend/src/restful/sync.js @@ -40,6 +40,7 @@ async function produceArtifact({ $options, proxy, noCache, + all, }) { platform = platform || 'JSON'; @@ -595,7 +596,7 @@ async function produceArtifact({ ) : { $content: filesContent, $files: files, $options }; - return processed?.$content ?? ''; + return (all ? processed : processed?.$content) ?? ''; } } diff --git a/scripts/demo.js b/scripts/demo.js index cba4b5e..af2423e 100644 --- a/scripts/demo.js +++ b/scripts/demo.js @@ -59,6 +59,15 @@ function operator(proxies = [], targetPlatform, context) { // } // console.log($options) + // 若设置 $options._res.headers + // 则会在输出文件时设置响应头, 例如: + + // $options._res = { + // headers: { + // 'X-Custom': '1' + // } + // } + // targetPlatform 为输出的目标平台 // lodash