类: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
表示 HTTP 响应状态码的 Integer
。
response.statusMessage
表示 HTTP 状态消息的 string
。
response.headers
一个表示 HTTP 响应头的 Record<string, string | string[]>
。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
表示 HTTP 协议版本号的 string
。典型值为 '1.0' 或 '1.1'。此外,httpVersionMajor
和 httpVersionMinor
是两个 Integer
类型可读属性,分别返回 HTTP 主版本号和次版本号。
response.httpVersionMajor
表示 HTTP 协议主版本号的 Integer
。
response.httpVersionMinor
表示 HTTP 协议次版本号的 Integer
。
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)