由宿主调用的入站 HTTP 请求处理入口接口规范。
源码浏览已生成;不能解析的文件以纯文本展示,不表示通过类型检查。
# 网页服务接口规范 0.1.0 本包是**应用提供的入口契约**,与 `豫言操作系统网络` 的出站请求能力分开。`入站网页。接口。豫` 定义宿主提供的请求读取函数及请求、响应类型;`网页处理。应用接口。豫` 导入这些类型,并声明应用提供的 `处理入站网页请求`。应用依赖本包须导出逻辑接口模块 `网页处理` 中的这个函数;应用源文件可有不同名称,绑定工具必须从应用包指定的入口源文件唯一定位同名且同型的实现并映射到该逻辑模块。宿主为每次获准的入站 HTTP 请求构造一个 `入站网页请求` 并调用该入口。CF Worker 与 Node.js 服务适配器可以实现这个调用;浏览器页面无需实现本包。 方法是 HTTP 方法字符串;网址是绝对 `http:` 或 `https:` URL。标头名称比较不区分 ASCII 大小写,重复值以列返回,值的顺序不承诺跨宿主一致。请求正文是完整字节串,可含零字节。`读取入站正文上限` 和 `读取出站正文上限` 返回本实例实际执行的正数字节限额。宿主须在调用入口前核对输入限额;超限请求由宿主拒绝,不得把截断内容交给程序。请求对象只在本次入口调用期间有效,应用需要跨调用保存的数据须复制为自身的豫言值;期满后调用任何无错误结果的请求读取函数,宿主须按共同执行契约终止该次运行并报告非法资源使用。 应用以 `造出站网页响应` 提供状态码、标头列表和完整正文字节。状态码须为 100 至 599,标头名称和值须符合 HTTP 字段规则;非法值由入口适配器报告运行失败。对 `HEAD`、无正文状态等 HTTP 协议约束,由宿主在发送时执行,不改变应用给出的响应值。宿主须公布响应正文上限,超限时报告失败,不能静默截断或报告成功。 每次入口调用恰对应一个请求及一个响应。调用允许挂起,宿主不得对同一运行实例并发调用本入口,也不保证不同请求复用同一实例;应用不可依赖跨请求的实例内存持久化。入口抛错或未返回有效响应时,宿主报告失败,具体传输层错误页不属于本包的可移植语义。首版不含流式正文、升级连接、队列、定时或邮件事件;这些事件须有各自入口包,不得塞入 HTTP 请求类型。
# 网页服务接口规范 0.1.0 此包定客所具之入站网页入口,与客向外发请之网络包分。「入站网页。接口。豫」定宿主所具之读请术及请答之型;「网页处理。应用接口。豫」引其型而定客所具之「处理入站网页请求」。客依之,必导出逻辑接口模块「网页处理」之此术;绑定者于客包所定入口源文件中惟一求得同名同型之实现,映于此模块,源文件名可异。每一入站请,宿主造请而调用客术;云工与节点宿主可承之,浏览器页面不必承之。 请之法为 HTTP 法名,址为绝对 HTTP 或 HTTPS 址。标头名以 ASCII 大小写同视,重值列返,其序不许客跨宿主凭恃。正文为全字节;逾宿主所告之限者,宿主先拒之,不得截短而交。请求之效期止于此轮调用。 客返状态、标头、正文所成之答;状态须百至五百九十九,字段须合法。逾响应限或得非法答,宿主报败,不得伪称成功。每请一答,术可候;同一实例不得并召之。异请可异实例,客不得凭恃实例内存跨请常存。流、升级连接、队列、定时与邮件皆另立约。