Skip to content

onRequest ​

onRequest() 负责将入站的 RequestMessage 移交给对应的 Processor。

ts
NApp.nacp.onRequest(
  message,
): void
参数说明
message入站的 RequestMessage

行为 ​

AutoSubscribe 构建 ​

当 message.meta.kind 为 event 时,onRequest() 会先用 Request 的 id 作为 subId,构建 AutoSubscribe 的被请求方记录。

Ability Request 不构建 AutoSubscribe。

移交 Processor ​

onRequest() 根据 message.meta.kind 选择 Event Processor 或 Ability Processor,并移交:

ts
{
  target: message.meta.target ?? "",
  payload: message.payload,
  reqId: message.id,
}

找不到对应 Processor 时,会报告 no-processor,并向请求方发送失败的 Response。

Processor 的具体接口与行为见 Processor。

过程流 ​

Processor 产生过程数据时,NACP 将其转换为 NotifyMessage 并发送。

只有 Event Request 建立了 AutoSubscribe,因此 Ability Request 没有过程流。

结束时 ​

Processor 结束时,NACP 将处理结果转换为 ResponseMessage,其中 parentId 指向 Request 的 id。

对于 Event Request,Response 发出时会同时清理被请求方的 AutoSubscribe 记录。

发送方向见 request(),Response 到达请求方后的处理见 onResponse()。

Released under the MIT License.