跳转至

传入消息

类:IncomingMessage

处理 HTTP/HTTPS 请求的响应。

进程:Main、Utility
该类未从 'electron' 模块导出。它仅可作为 Electron API 中其他方法的返回值使用。

IncomingMessage 实现了 Readable Stream 接口,因此是一个 EventEmitter。

实例事件

事件:'data'

返回值:

  • chunk Buffer - 响应体数据的一个数据块。

data 事件是将响应数据传输到应用代码的常用方式。

事件:'end'

表示响应体已结束。必须放置在 'data' 事件之前。

事件:'aborted'

当请求在正在进行的 HTTP 事务期间被取消时发出。

事件:'error'

返回值:

  • error Error - 通常包含一个标识失败根本原因的字符串。

在流式传输响应数据事件时遇到错误时发出。例如,如果服务器在响应仍在 流式传输时关闭底层连接,则会在响应对象上发出 error 事件,随后在请求对象上 发出 close 事件。

实例属性

IncomingMessage 实例具有以下只读属性:

response.statusCode

一个 Integer,表示 HTTP 响应状态码。

response.statusMessage

一个 string,表示 HTTP 状态消息。

response.headers

一个 Record<string, string | string[]>,表示 HTTP 响应头。headers 对象的格式如下:

  • 所有头名称均小写。
  • age、authorization、content-length、content-type、 etag、expires、from、host、if-modified-since、if-unmodified-since、 last-modified、location、max-forwards、proxy-authorization、referer、 retry-after、server 或 user-agent 的重复项将被丢弃。
  • set-cookie 始终是一个数组。重复项会被添加到数组中。
  • 对于重复的 cookie 头,其值会用 '; ' 连接在一起。
  • 对于所有其他头,其值会用 ', ' 连接在一起。

response.httpVersion

一个 string,表示 HTTP 协议版本号。典型值为 '1.0' 或 '1.1'。此外,httpVersionMajor 和 httpVersionMinor 是两个 返回 HTTP 主版本号和次版本号的整数值只读属性。

response.httpVersionMajor

一个 Integer,表示 HTTP 协议主版本号。

response.httpVersionMinor

一个 Integer,表示 HTTP 协议次版本号。

response.rawHeaders

一个 string[],包含接收到的原始 HTTP 响应头,完全保持原样。键和值位于同一个列表中。它不是元组列表。因此,偶数偏移量是键值,奇数偏移量是关联值。头名称不会小写,重复项也不会合并。

js @ts-type={response:Electron.IncomingMessage} // Prints something like: // // [ 'user-agent', // 'this is invalid because there can be only one', // 'User-Agent', // 'curl/7.22.0', // 'Host', // '127.0.0.1:8000', // 'ACCEPT', // '*/*' ] console.log(response.rawHeaders)

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 el/electron