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