跳到主要內容

類別: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)