@kevisual/router 0.0.65 → 0.0.67
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/dist/opencode.d.ts +7 -1
- package/dist/router.d.ts +7 -1
- package/dist/router.js +23 -4
- package/dist/ws.d.ts +716 -0
- package/dist/ws.js +186 -0
- package/package.json +11 -11
- package/src/server/reconnect-ws.ts +170 -0
- package/src/server/server-bun.ts +25 -6
- package/src/server/server-type.ts +7 -1
- package/src/ws.ts +65 -0
package/dist/opencode.d.ts
CHANGED
|
@@ -477,6 +477,12 @@ type RouterReq<T = {}> = {
|
|
|
477
477
|
};
|
|
478
478
|
body?: string;
|
|
479
479
|
cookies?: Record<string, string>;
|
|
480
|
+
bun?: {
|
|
481
|
+
request: Bun.BunRequest;
|
|
482
|
+
server: Bun.Server<{}>;
|
|
483
|
+
resolve: (response: Response) => void;
|
|
484
|
+
};
|
|
485
|
+
on: (event: 'close', listener: Function) => void;
|
|
480
486
|
} & T;
|
|
481
487
|
type RouterRes<T = {}> = {
|
|
482
488
|
statusCode: number;
|
|
@@ -488,7 +494,7 @@ type RouterRes<T = {}> = {
|
|
|
488
494
|
setHeader: (name: string, value: string | string[]) => void;
|
|
489
495
|
cookie: (name: string, value: string, options?: any) => void;
|
|
490
496
|
write: (chunk: any) => void;
|
|
491
|
-
pipe: (stream:
|
|
497
|
+
pipe: (stream: ReadableStream) => void;
|
|
492
498
|
end: (data?: any) => void;
|
|
493
499
|
} & T;
|
|
494
500
|
|
package/dist/router.d.ts
CHANGED
|
@@ -645,6 +645,12 @@ type RouterReq<T = {}> = {
|
|
|
645
645
|
};
|
|
646
646
|
body?: string;
|
|
647
647
|
cookies?: Record<string, string>;
|
|
648
|
+
bun?: {
|
|
649
|
+
request: Bun.BunRequest;
|
|
650
|
+
server: Bun.Server<{}>;
|
|
651
|
+
resolve: (response: Response) => void;
|
|
652
|
+
};
|
|
653
|
+
on: (event: 'close', listener: Function) => void;
|
|
648
654
|
} & T;
|
|
649
655
|
type RouterRes<T = {}> = {
|
|
650
656
|
statusCode: number;
|
|
@@ -656,7 +662,7 @@ type RouterRes<T = {}> = {
|
|
|
656
662
|
setHeader: (name: string, value: string | string[]) => void;
|
|
657
663
|
cookie: (name: string, value: string, options?: any) => void;
|
|
658
664
|
write: (chunk: any) => void;
|
|
659
|
-
pipe: (stream:
|
|
665
|
+
pipe: (stream: ReadableStream) => void;
|
|
660
666
|
end: (data?: any) => void;
|
|
661
667
|
} & T;
|
|
662
668
|
|
package/dist/router.js
CHANGED
|
@@ -21476,6 +21476,7 @@ class BunServer extends ServerBase {
|
|
|
21476
21476
|
}
|
|
21477
21477
|
// 将 Bun 的 Request 转换为 Node.js 风格的 req/res
|
|
21478
21478
|
return new Promise(async (resolve) => {
|
|
21479
|
+
const reqListener = [];
|
|
21479
21480
|
const req = {
|
|
21480
21481
|
url: url.pathname + url.search,
|
|
21481
21482
|
method: request.method,
|
|
@@ -21485,12 +21486,29 @@ class BunServer extends ServerBase {
|
|
|
21485
21486
|
remoteAddress: request?.remoteAddress || request?.ip || clientInfo?.address || '',
|
|
21486
21487
|
remotePort: clientInfo?.port || 0,
|
|
21487
21488
|
},
|
|
21488
|
-
|
|
21489
|
+
on: (event, listener) => {
|
|
21490
|
+
reqListener.push({ event, listener });
|
|
21491
|
+
},
|
|
21489
21492
|
bun: {
|
|
21490
21493
|
request, // 原始请求对象
|
|
21491
21494
|
server, // 原始服务器对象
|
|
21495
|
+
resolve
|
|
21492
21496
|
}
|
|
21493
21497
|
};
|
|
21498
|
+
const onClose = () => {
|
|
21499
|
+
reqListener.forEach(item => {
|
|
21500
|
+
if (item.event === 'close') {
|
|
21501
|
+
item.listener();
|
|
21502
|
+
}
|
|
21503
|
+
});
|
|
21504
|
+
reqListener.length = 0;
|
|
21505
|
+
};
|
|
21506
|
+
// 监听请求的取消事件
|
|
21507
|
+
if (request.signal) {
|
|
21508
|
+
request.signal.addEventListener('abort', () => {
|
|
21509
|
+
onClose();
|
|
21510
|
+
});
|
|
21511
|
+
}
|
|
21494
21512
|
const res = {
|
|
21495
21513
|
statusCode: 200,
|
|
21496
21514
|
headersSent: false,
|
|
@@ -21564,6 +21582,7 @@ class BunServer extends ServerBase {
|
|
|
21564
21582
|
controller.enqueue(chunk);
|
|
21565
21583
|
});
|
|
21566
21584
|
stream.on('end', () => {
|
|
21585
|
+
onClose();
|
|
21567
21586
|
controller.close();
|
|
21568
21587
|
});
|
|
21569
21588
|
stream.on('error', (err) => {
|
|
@@ -21571,9 +21590,9 @@ class BunServer extends ServerBase {
|
|
|
21571
21590
|
});
|
|
21572
21591
|
},
|
|
21573
21592
|
cancel() {
|
|
21574
|
-
|
|
21575
|
-
|
|
21576
|
-
|
|
21593
|
+
// 只有NODE流才有destroy方法
|
|
21594
|
+
// @ts-ignore
|
|
21595
|
+
stream?.destroy?.();
|
|
21577
21596
|
}
|
|
21578
21597
|
});
|
|
21579
21598
|
resolve(new Response(readableStream, {
|