跳转到主要内容

类:IncomingMessage

类:IncomingMessage

处理 HTTP/HTTPS 请求的响应。

进程: 主进程, 实用进程
此类未从 '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 对象格式如下

  • 所有头名称都转换为小写。
  • 重复的 ageauthorizationcontent-lengthcontent-typeetagexpiresfromhostif-modified-sinceif-unmodified-sincelast-modifiedlocationmax-forwardsproxy-authorizationrefererretry-afterserveruser-agent 将被丢弃。
  • set-cookie 始终是一个数组。重复项会被添加到数组中。
  • 对于重复的 cookie 头,值将使用 '; ' 连接在一起。
  • 对于所有其他头,值将使用 ', ' 连接在一起。

response.httpVersion

一个 string,指示 HTTP 协议版本号。典型值是 '1.0' 或 '1.1'。此外,httpVersionMajorhttpVersionMinor 是两个 Integer 值可读属性,分别返回 HTTP 的主版本号和次版本号。

response.httpVersionMajor

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

response.httpVersionMinor

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

response.rawHeaders

一个 string[],包含原始 HTTP 响应头,与接收到的完全一致。键和值在同一个列表中。它不是一个元组列表。因此,偶数索引是键值,奇数索引是相应的值。头名称不会转换为小写,也不会合并重复项。

// 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)