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 |
属性
Attribute | Type | Description |
isActive |
boolean |
インターフェースがアクティブで、HTTPの活動を通知されたい場合は
注意: この属性は互換性のためだけに存在するもので、使用されるべきではありません。
|
アクティビティタイプ定数
定数 | 値 | 説明 |
ACTIVITY_TYPE_SOCKET_TRANSPORT |
0x0001 | Socket の転送活動が発生した。 |
ACTIVITY_TYPE_HTTP_TRANSPORT |
0x0002 | HTTP の転送活動が発生した。 |
アクティビティサブタイプ定数
定数 | 値 | 説明 |
ACTIVITY_SUBTYPE_REQUEST_HEADER |
0x5001 |
HTTP リクエストが送信キューにキューイングされた。Observer は |
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
フィールドの値によって, aExtraSizeData
と aExtraStringData
パラメータは違う意味を持ちます。
ソケット転送アクティビティ
もしアクティビティのタイプが 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
はトータルで受信したバイト数を含みます。