MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

nsIHttpActivityObserver

nsIHttpActivityObserver はデバッガーやトラフィックモニターのようなHTTPの転送アクティビティの通知を要求するクライアントにより実装されるインターフェースです。

Please add a summary to this article.
  最終更新: Gecko 1.9.2 (Firefox 3.6 / Thunderbird 3.1 / Fennec 1.0)

継承元: nsISupports

メソッドの概要

void observeActivity(in nsISupports aHttpChannel, in PRUint32 aActivityType, in PRUint32 aActivitySubtype,
                     in PRTime aTimestamp, in PRUint64 aExtraSizeData, in ACString aExtraStringSize);

 属性

Attribute Type Description
isActive boolean

インターフェースがアクティブで、HTTPの活動を通知されたい場合は true、 それ以外の場合は false。 もし false の場合, observeActivity() メソッドは呼び出されない。

注意: この属性は互換性のためだけに存在するもので、使用されるべきではありません。

アクティビティタイプ定数

定数 説明
ACTIVITY_TYPE_SOCKET_TRANSPORT 0x0001 Socket の転送活動が発生した。
ACTIVITY_TYPE_HTTP_TRANSPORT 0x0002 HTTP の転送活動が発生した。

アクティビティサブタイプ定数

定数 説明
ACTIVITY_SUBTYPE_REQUEST_HEADER 0x5001

HTTP リクエストが送信キューにキューイングされた。Observer は aExtraStringData からリクエストヘッダを参照できる。

ACTIVITY_SUBTYPE_REQUEST_BODY_SENT 0x5002 HTTP リクエストのボディが送信された。
ACTIVITY_SUBTYPE_RESPONSE_START 0x5003 HTTP レスポンスを受信し始めた。
ACTIVITY_SUBTYPE_RESPONSE_HEADER 0x5004 HTTPのレスポンスヘッダを受信した。
ACTIVITY_SUBTYPE_RESPONSE_COMPLETE 0x5005 HTTPのレスポンスを完全に受信し終えた。
ACTIVITY_SUBTYPE_TRANSACTION_CLOSE 0x5006 HTTPのトランザクションが閉じられた。

メソッド

observeActivity()

HTTPの転送アクティビティが発生した際に呼び出されます。HTTPの活動が発生した際に行うべき処理はこのメソッドに定義します。

void observeActivity(
  in nsISupports aHttpChannel,
  in PRUint32 aActivityType,
  in PRUint32 aActivitySubtype,
  in PRTime aTimestamp,
  in PRUint64 aExtraSizeData,
  in ACString aExtraStringData
);
aHttpChannel
活動が発生した HTTP チャンネル
aActivityType
発生したアクティビティのタイプ; アクティビティタイプ定数で定義された値のうちの1つ。
aActivitySubtype
発生したアクティビティのタイプをさらに細かく分類したサブタイプ。アクティビティのタイプが ACTIVITY_TYPE_SOCKET_TRANSPORT の場合、 この値は nsISocketTransport で定義された STATUS_* 定数のどれかになります。もしアクティビティのタイプが ACTIVITY_TYPE_HTTP_TRANSACTION の場合、この値は前述のアクティビティサブタイプ定数で定義された定数のどれかになります。
aTimestamp
活動が発生した時刻です。1970年1月1日午前零時を基準とした経過時刻がマイクロ秒で表されます。
aExtraSizeData
追加のサイズデータが利用できる場合にその値が渡されます。後述のアクティビティデータを扱うもご覧ください。
aExtraStringData
追加の文字列データが利用できる場合にその値が渡されます。後述のアクティビティデータを扱うもご覧ください。

アクティビティデータを扱う

aActivityType および aActivitySubtype フィールドの値によって, aExtraSizeDataaExtraStringData パラメータは違う意味を持ちます。

ソケット転送アクティビティ

もしアクティビティのタイプが ACTIVITY_TYPE_SOCKET_TRANSPORT かつサブタイプが STATUS_SENDING_TO であれば、 aExtraSizeData パラメータは送信されたバイト数を含むことになります。1つの HTTP トランザクションは分割されたソケットの書き出しによって、複数のチャンクから構成される事があるため、それぞれのソケットアクティビティで通知されるのはそのチャンクで転送されたバイト数のみとなります。

HTTP トランザクションアクティビティ

通知されたアクティビティのタイプが ACTIVITY_TYPE_HTTP_TRANSACTION の場合、 追加のデータを含むものは3種類あります:

ACTIVITY_SUBTYPE_REQUEST_HEADER
aExtraStringData はヘッダの文字列を含みます。
ACTIVITY_SUBTYPE_RESPONSE_HEADER
aExtraStringData はレスポンスヘッダの文字列を含みます。
ACTIVITY_SUBTYPE_RESPONSE_COMPLETE
aExtraSizeData はトータルで受信したバイト数を含みます。

参照

ドキュメントのタグと貢献者

 このページの貢献者: teoli, yiwasaki
 最終更新者: teoli,