diff options
author | Chris Porter <slug@qwebirc.org> | 2011-02-14 03:35:44 (GMT) |
---|---|---|
committer | Chris Porter <slug@qwebirc.org> | 2011-02-14 03:35:44 (GMT) |
commit | 6f5821f1eed88f323dd87f915ff6dd2d8a630d65 (patch) | |
tree | 9f3b51d4a1a1b0187d9a4c2ca8b69bf9a119ad44 | |
parent | 235a19f7e87229b761d902bd069c7d39afd3a246 (diff) |
Better attempt at HTTP header minimisation.
-rw-r--r-- | js/irc/ircconnection.js | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/js/irc/ircconnection.js b/js/irc/ircconnection.js index c6054fa..1b42859 100644 --- a/js/irc/ircconnection.js +++ b/js/irc/ircconnection.js @@ -59,16 +59,23 @@ qwebirc.irc.IRCConnection = new Class({ /* try to minimise the amount of headers */ r.headers = new Hash; r.addEvent("request", function() { - var setHeader = function(key, value) { + var kill = ["Accept", "Accept-Language"]; + var killBit = ""; + + if(Browser.Engine.trident) { + killBit = "?"; + kill.push("User-Agent"); + kill.push("Connection"); + } else if(/Firefox[\/\s]\d+\.\d+/.test(navigator.userAgent)) { /* HACK */ + killBit = null; + } + + for(var i=0;i<kill.length;i++) { try { - this.setRequestHeader(key, value); + this.setRequestHeader(kill[i], killBit); } catch(e) { } - }.bind(this); - - setHeader("User-Agent", null); - setHeader("Accept", null); - setHeader("Accept-Language", null); + } }.bind(r.xhr)); if(Browser.Engine.trident) |