跳至主要內容

類別: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 是兩個整數值可讀取的屬性,分別傳回 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)