fix: 更新依赖项版本并优化远程应用连接逻辑

This commit is contained in:
2026-02-21 06:28:20 +08:00
parent 68c1976754
commit 13b0f45d3e
13 changed files with 184 additions and 76 deletions

View File

@@ -1,4 +1,5 @@
import { app, assistantConfig } from '../../app.ts';
import { forwardCookie } from './utils/cookie.ts';
app.route({
path: 'admin',
@@ -23,19 +24,7 @@ app.route({
password,
}),
});
// 转发上游服务器返回的所有 set-cookie支持多个 cookie
const setCookieHeaders = res.headers.getSetCookie?.() || [];
if (setCookieHeaders.length > 0) {
// 设置多个 cookie 到原生 http.ServerResponse
ctx.res.setHeader('Set-Cookie', setCookieHeaders);
} else {
// 兼容旧版本,使用 get 方法
const setCookieHeader = res.headers.get('set-cookie');
if (setCookieHeader) {
ctx.res.setHeader('Set-Cookie', setCookieHeader);
}
}
forwardCookie(ctx, res);
const responseData = await res.json();
console.debug('admin login response', { res: responseData });
@@ -73,6 +62,9 @@ app.route({
key: 'me'
}).define(async (ctx) => {
const token = ctx.query.token;
if (!token) {
ctx.throw(401, 'token is required');
}
const res = await assistantConfig.query.post({
path: 'user',
key: 'me',

View File

@@ -0,0 +1,14 @@
export const forwardCookie = (ctx: any, res: any) => {
// 转发上游服务器返回的所有 set-cookie支持多个 cookie
const setCookieHeaders = res.headers.getSetCookie?.() || [];
if (setCookieHeaders.length > 0) {
// 设置多个 cookie 到原生 http.ServerResponse
ctx.res.setHeader('Set-Cookie', setCookieHeaders);
} else {
// 兼容旧版本,使用 get 方法
const setCookieHeader = res.headers.get('set-cookie');
if (setCookieHeader) {
ctx.res.setHeader('Set-Cookie', setCookieHeader);
}
}
}