以云工获授权 HTTPS 外发、公网上游校验及原生响应流实现网页上游接口。
源码浏览已生成;不能解析的文件以纯文本展示,不表示通过类型检查。
# 云工网页上游适配 适配器先通过宿主的 `OUTBOUND_ORIGINS` 许可核对每个 HTTPS URL,再以有限方法、标头、正文和超时发起请求;请求设置 `redirect: error`,不跟随其他来源。响应柄只在当前事件有效。应用可检查状态,随后选择一次性 JSON 读取或保留原生正文流并回应当前入站请求。 0.2.0 新增增量读取与动态公网 HTTPS 上游,全部用豫言写在云工宿主库之上,不增加宿主 JavaScript: - 读取:与授权服务适配同一套机制(读取状态表、按需创建读取器、带信号的 `pipeThrough`、流式 `TextDecoder`、码点边界切块、有限整读、取消、句柄卫生),响应柄由 `请求授权网页上游` 与 `请求公网HTTPS上游` 签发并登记;已开始增量读取的柄,旧的 `读取网页上游癸象正文文` 与 `回应入站以上游流` 抛豫言异常。 - 请求标头:新增 `X-Yuyan-Request-ID`;所有值须为可见 ASCII,`Authorization` 至多 8192 字节,其余 512 字节,请求编号恰 36 位小写十六进制与连字符。 - 动态公网 HTTPS:适配在发请求前逐次严格校验网址(可见 ASCII、`https://`、无用户信息与查询片段、主机名只含字母数字点连字符且带点、无 IP 字面量与内网名、端口白名单),用 `URL` 规范化后发出;许可用宿主对“来源 `https://*`”的授权判定(`云工外发网址已授权`)表示,云工宿主现以 `OUTBOUND_ORIGINS` 含 `https://*` 满足;请求经 `云工调用全局安全` 调用全局 `fetch`(`redirect: manual`,`AbortSignal.timeout`,正文为字节句柄),因宿主的 `云工请求发起可中断` 在声明了静态来源清单时拒绝清单外的网址,也不允许 `manual`。 一致性验证见 `一致性验证/`。另有一项可选的宿主改动(把 `PUBLIC_HTTPS` 形式接入),不是必需。
# 云工网页上游适配 适配先循宿主 `OUTBOUND_ORIGINS` 许可逐次核 HTTPS 址,乃以有限法、头、正文与时限发请;置 `redirect: error`,不随异源转址。答柄惟当前事可用。客可先验状态,乃择一次读 JSON 或存原生正文流以答当前入站请。 〇点二增渐读与动态公网 HTTPS 上游,悉以豫言书于云工宿主库之上,不增宿主 JavaScript: - 读:与授权服务适配同一机(读势之表、按需创读器、带信号之 `pipeThrough`、流式 `TextDecoder`、依码点界裁块、有限整读、止、句柄之洁),答柄由 `请求授权网页上游` 与 `请求公网HTTPS上游` 所发而录之;已始渐读之柄,旧 `读取网页上游癸象正文文` 与 `回应入站以上游流` 皆告豫言异常。 - 请头:增 `X-Yuyan-Request-ID`;诸值必可见 ASCII,`Authorization` 至多八一九二字节,余五一二字节,请求编号必恰三十六位小写十六进制与短横。 - 动态公网 HTTPS:适配于发请之前逐次严验其址(可见 ASCII、`https://`、无用户信息与询串片段、主机名惟含字母数字点短横且带点、无 IP 字面与内网名、端口白名),以 `URL` 规范后发之;许可以宿主对“来源 `https://*`”之授权判定(`云工外发网址已授权`)表之,云工宿主今以 `OUTBOUND_ORIGINS` 含 `https://*` 满足;请经 `云工调用全局安全` 呼全局 `fetch`(`redirect: manual`,`AbortSignal.timeout`,正文为字节柄),盖宿主之 `云工请求发起可中断` 于已列静态来源清单时,拒清单外之址,亦不许 `manual` 也。 一致之验见 `一致性验证/`。另有一可选之宿主改(接入 `PUBLIC_HTTPS` 之式),非必需。