Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FBL.ns(function() { with (FBL) {
- const Cc = Components.classes;
- const Ci = Components.interfaces;
- const dirService = Cc["@mozilla.org/file/directory_service;1"]
- .getService(Ci.nsIProperties);
- // ************************************************************************************************
- // Module implementation
- Firebug.BeepbopListenerModule = extend(Firebug.Module,
- {
- initialize: function(owner) {
- Firebug.Module.initialize.apply(this, arguments);
- // Register Beepbop listener
- this.beepbopListener = new BeepbopListener();
- Firebug.NetMonitor.addListener(this.beepbopListener);
- Firebug.NetMonitor.NetRequestTable.addListener(RequestTableListener);
- Firebug.JSONViewerModel.addListener(JSONListener);
- },
- shutdown: function() {
- Firebug.Module.shutdown.apply(this, arguments);
- // Unregister Beepbop listener
- Firebug.NetMonitor.removeListener(this.beepbopListener);
- this.beepbopListener.outputStream.close();
- Firebug.NetMonitor.NetRequestTable.removeListener(RequestTableListener);
- Firebug.JSONViewerModel.removeListener(JSONListener);
- }
- });
- // ************************************************************************************************
- // Net Panel Listener
- function BeepbopListener(outputStream) {
- // Get unique file within user profile directory.
- var file = dirService.get("ProfD", Ci.nsIFile);
- file.append("beepboplistener");
- file.append("netMonitor.txt");
- file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0666);
- // Initialize output stream.
- this.outputStream =
- Cc["@mozilla.org/network/file-output-stream;1"]
- .createInstance(Ci.nsIFileOutputStream);
- // write, create, truncate
- this.outputStream.init(file, 0x02 | 0x08 | 0x20, 0666, 0);
- }
- BeepbopListener.prototype = {
- onRequest: function(context, file) {
- var pattern = /\.js$/;
- if (pattern.test(file.href) && FBTrace.DBG_BEEPBOP) {
- FBTrace.sysout("CANT SEE RESPONSETEXT IN ONREQUEST " + file);
- }
- },
- onExamineResponse: function(context, file) {
- FBTrace.sysout("onexamineresponse " + file);
- var pattern = /\.js$/;
- if (pattern.test(file.href) && FBTrace.DBG_BEEPBOP) {
- FBTrace.sysout("ONEXAMINE DOESN'T EVEN FIRE SO YOU WON'T SEE THIS");
- }
- },
- onResponse: function(context, file) {
- var pattern = /\.js$/;
- if (pattern.test(file.href) && FBTrace.DBG_BEEPBOP) {
- FBTrace.sysout("CANT SEE RESPONSETEXT IN ONRESPONSE " + file);
- }
- try {
- var text = file.href + " (" + formatTime
- (file.endTime - file.startTime) + ")\n";
- this.outputStream.write(text, text.length);
- }
- catch (err) {
- if (FBTrace.DBG_BEEPBOP || FBTrace.DBG_ERRORS)
- FBTrace.sysout("beepbopListener.onResponse: EXCEPTION", err);
- }
- },
- onResponseBody: function(context, file) {
- var pattern = /\.js$/;
- if (pattern.test(file.href) && FBTrace.DBG_BEEPBOP) {
- FBTrace.sysout("THIS IS WHAT WE WANT: " + file.responseText);
- }
- }
- };
- var RequestTableListener =
- {
- onCreateRequestEntry: function(panel, row)
- {
- if (FBTrace.DBG_NETLISTENER)
- FBTrace.sysout("RequestTableListener.onCreateRequestEntry; " +
- panel.context.getName());
- }
- }
- var JSONListener =
- {
- onParseJSON: function(file)
- {
- if (FBTrace.DBG_NETLISTENER)
- FBTrace.sysout("JSONListener.onParseJSON; " + file.href, file);
- }
- }
- // ************************************************************************************************
- // Registration
- Firebug.registerModule(Firebug.BeepbopListenerModule);
- // ************************************************************************************************
- }});
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement