Это в основном относится к Firefox add-on SDK: Get http response headers. Я пытаюсь регистрировать ответы на http-запросы, но до сих пор мне не удалась отладить это. Было бы очень полезно, если бы я советовался ... часами стучал головой об этом и никуда не уходил.Мониторинг SDK в Firefox SDK
Это является main.js для моего небольшого расширения:
var {Cc, Ci} = require("chrome");
var httpRequestObserver =
{
init: function() {
var observerService = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
observerService.addObserver(this, 'http-on-examine-response', false);
observerService.addObserver(this, 'http-on-examine-cached-response', false);
observerService.addObserver(this, 'http-on-examine-merged-response', false);
},
observe: function(subject, topic, data) {
if (topic === 'http-on-examine-response' || topic === 'http-on-examine-cached-response' || topic === 'http-on-examine-merged-response') {
subject.QueryInterface(Ci.nsIHttpChannel);
this.onExamineResponse(subject);
}
},
onExamineResponse: function(oHttp) {
try
{
console.log(oHttp.URI.spec);
}
catch(err)
{
console.log(err);
}
}
};
Когда я выполнить Firefox Add-на SDK, испытываемые браузер загружается отлично, и если я открываю Инструменты> Дополнения> Расширения , Я вижу, что мой список там. Но когда я указываю браузеру теста на google.com (или любой URL-адрес), ничего не регистрируется на консоли.
Я сравнил свой main.js с предложенными методами @https://developer.mozilla.org/en-US/docs/Setting_HTTP_request_headers, и все кажется конгруэнтным. В конце я планирую сделать что-то более сложное, чем просто записывать вещи, но я не могу даже заставить эту базовую функциональность работать правильно!
Спасибо за ваш ответ, вы правы насчет моей путаницы ж/ответа .. но почему мой код, по крайней мере, не регистрировал запросы? – user2426679
Для запросов вы должны установить наблюдателя для «http-on-modify-request» - обратите внимание на слово «изменить», – lexasss