跳至主要内容

Edge 适配器(s200/cloudflare) ​

Cloudflare Workers 直接消费核心 —— handle 本身已是 Web Standard handler,适配器是一行薄层。

Cloudflare Workers(s200/cloudflare) ​

ts
import { createHandler } from 's200/cloudflare';
export default createHandler(app);

createHandler(app) → WorkerHandler —— module worker 的 default 导出形状:

ts
type WorkerHandler = {
  fetch(
    request: Request,
    env: Record<string, unknown>,
    ctx: { waitUntil(promise: Promise<unknown>): void }
  ): Promise<Response> | Response;
};

Workers 在客户端断开时中止 fetch handler 请求的信号;适配器做特性检测并把该信号作为 init.signal 交给 handle,因此断线时体读取与 ctx.signal 消费者会立即取消。这里同样没有写完成事件,onFinish 回调由响应体承载:cancel → { aborted: true }、完成 → { aborted: false },恰好一次;空 body 响应在 handler 返回它时即告完成。

Workers 上的 WebSocket 升级与该适配器组合:s200/websocket/cloudflare 的 createCloudflareWebSocketBridge(app) 应答握手,其余请求落回 createHandler 的 fetch。

基于 MIT 许可证发布。