豫言 / 豫言操作系统网页转发适配 @ 0.4.0
以云工授权服务与 Assets 实现网页转发公共接口。
说明.汉语.md
# 云工网页转发适配 `转发。豫` 实现[网页转发接口](../../../豫言操作系统接口/网页转发/规范.汉语.md)。它从当前 Worker 请求提取两种路径,限制同源改址,按许可表选择 `ASSETS` 或服务绑定,转发原请求的标头、方法和正文流,并把上游响应交回平台。应用只传授权绑定名及可选新路径,不接触 URL、Request、Response 和服务句柄。宿主本身限制每次请求只设置一次响应。 0.4.0 新增两个函数:`转发入站请求并筛标头` 在豫言里校验路径、方法、保留名与固定头(令牌字符、长度、数量、重名、宿主管理的名称、值的字符集、入站值中的控制字符、请求体是否已被读取),再用 `Headers` 句柄按“先复制、后覆盖”构造标头,创建带 `duplex: "half"` 与 `redirect: "manual"` 的 `Request` 并交给 `SERVICE` 绑定的 `fetch`(用安全调用,失败转为可捕获异常),把上游 Response 原样交回,不读取正文。`回应入站以静态资源` 用 `ASSETS.fetch(网址)` 取资源,复制其 `Headers` 后按“名称首次出现先删除再追加”应用附加标头,以原正文流和最终状态构造新 Response(HEAD 与无正文状态不带正文,并取消资源正文流)。 不需要新的宿主原语。当前为普通编译器可加载的过渡包;构建前用接口检查器核对签名;其他宿主须提供同义适配,才能声称实现本能力包。
说明.文言.md
# 云工网页转发适配 `转发。豫` 承[网页转发之约](../../../豫言操作系统接口/网页转发/规范.文言.md)。由当前云工之请取二径,限同源改址,循许可择静资或服务,传原请之头、法与正文流,以上游答归平台。客惟传获授名及可无之新径,不得 URL、Request、Response 与服务之柄。宿主一请惟许一终答。 0.4.0 增二术:`转发入站请求并筛标头` 于豫言中验径、法、保留名与固定头(令牌字、长、数、重名、宿主所管之名、值之字集、入站值中之控字符、请体已否被读),复以 `Headers` 柄依「先复而后覆」造头,造带 `duplex: "half"` 与 `redirect: "manual"` 之 `Request`,交 `SERVICE` 绑定之 `fetch`(用安全调用,败则转为可捕之事故),上游 Response 原样而归,不读正文。`回应入站以静态资源` 以 `ASSETS.fetch(网址)` 取资源,复其 `Headers`,依「名初见则先去而后加」施附加头,以原正文流与终状造新 Response(HEAD 与无正文之状不带正文,并废资源之正文流)。 无须新宿主原语。今为旧编译器可载之过渡包;构前当以接口检查器核其签;他宿主欲称具此能,须另成同义适配。