From 118bf1fc656de490f42afa8fd98ee20339cef8da Mon Sep 17 00:00:00 2001 From: Tomasz Sowa Date: Sat, 19 Dec 2009 19:46:15 +0000 Subject: [PATCH] added: exception for the Konqueror browser it has a problem with deflate compression git-svn-id: svn://ttmath.org/publicrep/cmslu/trunk@539 e52654a7-88a9-db11-a3e9-0013d4bc506e --- core/request.cpp | 13 ++++++++++++- core/request.h | 4 ++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/core/request.cpp b/core/request.cpp index 51e952e..248233c 100755 --- a/core/request.cpp +++ b/core/request.cpp @@ -252,6 +252,16 @@ void Request::CheckIE() browser_msie = false; } +void Request::CheckKonqueror() +{ + char * kon = strstr(env_http_user_agent, "Konqueror"); + + if( kon ) + browser_konqueror = true; + else + browser_konqueror = false; +} + void Request::CheckMethod() @@ -313,6 +323,7 @@ void Request::Read() CheckMethod(); ReadParameters(); CheckIE(); + CheckKonqueror(); } @@ -403,7 +414,7 @@ void Request::SendPage(bool compressing) void Request::SendAll() { -bool compressing = data.compression && !browser_msie && accept_encoding_parser.AcceptDeflate(); +bool compressing = data.compression && !browser_msie && !browser_konqueror && accept_encoding_parser.AcceptDeflate(); SendSessionCookie(); SendHeaders(compressing); diff --git a/core/request.h b/core/request.h index 7098ab1..31a1b83 100755 --- a/core/request.h +++ b/core/request.h @@ -67,6 +67,9 @@ struct Request // true if the browser is Microsoft Internet Explorer bool browser_msie; + // true if the browser is Konqueror + bool browser_konqueror; + // current session // is set after calling session_manager.SetSession() Session * session; @@ -151,6 +154,7 @@ private: void SendSessionCookie(); void CheckIE(); + void CheckKonqueror(); void SendHeaders(bool compressing); void AddDebugInfo();