類別: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
物件的格式如下
- 所有標頭名稱都轉換為小寫。
- 會捨棄
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 回應標頭。索引鍵和值在同一個清單中。它不是一個元組的清單。因此,偶數偏移是索引鍵值,而奇數偏移是相關的值。標頭名稱不會轉換為小寫,也不會合併重複項。
// 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)