メインコンテンツへ飛ぶ

クラス: IncomingMessage

クラス: IncomingMessage

HTTP/HTTPSリクエストに対するレスポンスを処理します。

プロセス: Main, Utility
このクラスは 'electron' モジュールからエクスポートされません。 Electron API では、他のメソッドの戻り値としてのみ利用できます。

IncomingMessageReadable 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

Record<string, string | string[]> 型。HTTP レスポンスヘッダを表します。 headers オブジェクトは以下のようにフォーマットされます:

  • すべてのヘッダ名は小文字です。
  • ageauthorizationcontent-lengthcontent-typeetagexpiresfromhostif-modified-sinceif-unmodified-sincelast-modifiedlocationmax-forwardsproxy-authorizationrefererretry-afterserveruser-agent の重複は破棄されます。
  • set-cookie は常に配列です。 重複は配列へと追加されます。
  • 重複した cookie ヘッダは、値を '; ' で結合します。
  • 他の重複したヘッダはすべて、値を ', ' で結合します。

response.httpVersion

HTTPプロトコルのバージョン番号を示す string。 典型的な値は、'1.0'や'1.1'です。 さらに、httpVersionMajorhttpVersionMinor は、2つともIntegerの値を返す読み取り専用プロパティで、それぞれHTTPのメジャーとマイナーのバージョン番号を返します。

response.httpVersionMajor

HTTPプロトコルのメジャーバージョン番号を示す Integer

response.httpVersionMinor

HTTPプロトコルのマイナーバージョン番号を示す Integer

response.rawHeaders

string[] 型で、受信した生の HTTP レスポンスヘッダが入っています。 キーと値は同じリストに格納されています。 タプルのリストではありません。 すなわち、偶数番目の値はキーで、奇数番目の値はキーに関連付けられた値です。 ヘッダ名は小文字に統一されず、重複はマージされません。

// 以下のように出力されます。
//
// [ '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)