路一 Node 宿主的网络接口适配:向启动时授权的来源发送 HTTP 请求,不跟随重定向,正文整体收发。
源码浏览已生成;不能解析的文件以纯文本展示,不表示通过类型检查。
# 网络接口 Node 适配 路一 Node 宿主的[网络接口](../../../豫言操作系统接口/网络/规范.汉语.md)适配,宿主用 Node 自带的 `fetch` 发送出站 HTTP 请求。 - 授权:目标来源(协议、主机、端口)须在启动时的 `--允许源` 里,例如 `--允许源 https://example.com`;不在其中返回 `未获授权`,不发请求。 - 核对:方法限 `GET`、`HEAD`、`POST`、`PUT`、`PATCH`、`DELETE`、`OPTIONS`;网址须为绝对 `http:` 或 `https:`;标头不合(名称或值非法)、`GET` 与 `HEAD` 带正文都返回 `输入无效`。 - 重定向:以 `redirect: 'manual'` 发送,收到 301、302、303、307、308 即返回 `宿主操作失败`,不向下一跳发请求;304 与其他状态(含 4xx、5xx)是成功取得的响应。 - 限额:`读取请求正文上限` 与 `读取响应正文上限` 都是 16 MiB(宿主值桥单次交换上限);请求正文超过、或响应正文累计超过时返回 `资源配额已尽`,响应超限时立即取消读取。传输失败返回 `宿主操作失败`。 - 响应在豫言里完整保存状态、标头与正文;标头名称为小写,`读取网页响应标头` 按 ASCII 不区分大小写查找,重复标头按 Fetch 规范合并为一个值(`set-cookie` 各自保留)。 新增宿主原语(外调名):`豫言_节点_网络发送`(可挂起,返回(状态码,HTTP 状态,标头 JSON,正文,消息))与 `豫言_节点_网络正文上限`,实现在 `豫言操作系统/宿主/节点/应用宿主.mjs`;状态码编号同文件适配。本适配依赖基础接口的 `错误` 模块。待办事项:请求超时与取消。
# 网络接口节点适配 此为路一节点宿主之[网络接口](../../../豫言操作系统接口/网络/规范.文言.md)适配,宿主以节点自带之 `fetch` 发出站之 HTTP 请。 - 授权:所向之源(协议、主机、端口)须在启时之 `--允许源` 中,如 `--允许源 https://example.com`;否则 `未获授权`,不发。 - 核对:法限 `GET`、`HEAD`、`POST`、`PUT`、`PATCH`、`DELETE`、`OPTIONS`;址须为绝对之 `http:` 或 `https:`;标头不合、`GET` 与 `HEAD` 带正文者,皆 `输入无效`。 - 转址:以 `redirect: 'manual'` 发之,遇 301、302、303、307、308 即 `宿主操作失败`,不及次跳;304 及他状(含 4xx、5xx)皆为已得之答。 - 限额:`读取请求正文上限`、`读取响应正文上限` 皆十六兆字节(值桥单次交换之限);请文逾之、答文累逾之,皆 `资源配额已尽`,答逾则即止其读。传输之败为 `宿主操作失败`。 - 答全存于豫言:状态、标头与正文;标头之名皆小写,`读取网页响应标头` 以 ASCII 不分大小写寻之,重名者依 Fetch 规范合为一值(`set-cookie` 各存)。 新增宿主原语(外调名):`豫言_节点_网络发送`(可挂起,返(码,HTTP 状态,标头之癸象文,正文,辞))与 `豫言_节点_网络正文上限`,实于 `豫言操作系统/宿主/节点/应用宿主.mjs`;码之编号同文件适配。此适配依基础接口之 `错误` 模。待办事项:请求之限时与取消。