firefox插件更改响应代码
我有一个扩展正在检查firefox插件更改响应代码,firefox,firefox-addon,firefox-addon-sdk,Firefox,Firefox Addon,Firefox Addon Sdk,我有一个扩展正在检查http中关于检查响应的listener中的响应。在监听器中,可以通过更改标题,也可以通过更改响应内容 但是如何在检查响应的http中更改响应代码(例如从407更改为200) 一些代码: const { Ci, Cu, Cc, Cr } = require('chrome'); Cu.import('resource://gre/modules/Services.jsm'); var observer = { observe: function(aSubject, a
http中关于检查响应的listener中的响应。在监听器中,可以通过更改标题,也可以通过更改响应内容
但是如何在检查响应的http中更改响应代码(例如从407更改为200)
一些代码:
const { Ci, Cu, Cc, Cr } = require('chrome');
Cu.import('resource://gre/modules/Services.jsm');
var observer = {
observe: function(aSubject, aTopic, aData) {
if (aTopic == 'http-on-examine-response') {
console.log('we are in observer http-on-examine-response');
var httpChannel = aSubject.QueryInterface(Ci.nsIHttpChannel);
if(httpChannel.responseStatus == 407){
httpChannel.responseStatus = 200; // <-- this is not working
}
}
}
};
Services.obs.addObserver(observer, 'http-on-examine-response', false);
exports.onUnload = function (aData, aReason) {
Services.obs.removeObserver(observer, 'http-on-examine-response');
};
const{Ci,Cu,Cc,Cr}=require('chrome');
Cu.进口resource://gre/modules/Services.jsm');
var观察员={
观察:功能(对象、特应性、适应性){
如果(aTopic==“http on inspect response”){
log('我们在检查响应时处于观察者http');
var httpChannel=asObject.QueryInterface(Ci.nsIHttpChannel);
如果(httpChannel.responseStatus==407){
httpChannel.responseStatus=200;//您必须在修改响应时使用http
1)我修复了我的错误,在检查响应时必须有http
2)此代码中没有类似于修改响应时的http
的事件:此事件未被触发。哦,我的错误,是http on examine-response
,请尝试。请参阅此处的文档-不,没有更改Response代码的方法。该读取器仅使用Response正文(Response正文中第一个“\r\n\r\n”之后的avrything),而Response代码位于正文的第一行。您不能使用setResponseHeader
来设置它吗?